2011-02-16 3 views
6

WPF DataGrid (VS2010 C#)가 있습니다. DataGrid에서 클립 보드로 데이터를 복사 한 다음 Excel 파일에 씁니다. 아래는 제 코드입니다.WPF DataGrid에서 Excel로 클립 보드로 텍스트 복사

"당신이 'Test.xls를'을 열려고하는 파일을 다른 형식 에 있습니다

dataGrid1.SelectAllCells(); 
dataGrid1.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader; 
ApplicationCommands.Copy.Execute(null, dataGrid1); 
dataGrid1.UnselectAllCells(); 
string path1 = "C:\\test.xls"; 
string result1 = (string)Clipboard.GetData(DataFormats.CommaSeparatedValue); 
Clipboard.Clear(); 
System.IO.StreamWriter file1 = new System.IO.StreamWriter(path1); 
file1.WriteLine(result1); 
file1.Close(); 

모든 것은 내가 엑셀이 나에게이 경고를 제공 파일을 열 경우를 제외하고는 밖으로 작동 확인 파일 확장자로 지정된 것보다 파일이 손상되지 않았는지 확인하고 파일을 열기 전에 신뢰할 수있는 출처에서 왔음을 확인하십시오. 지금 파일을 열시겠습니까? "

"Excel에서 'test.xls'이 (가) SYLK 파일이지만로드 할 수 없음을 발견했습니다."

하지만 클릭 한 후에도 여전히 Excel 파일이 열리고 OK 데이터가 있어야합니다. 하지만 엑셀 파일을 열기 전에 두 가지 경고를 제거하는 방법을 찾을 수 없습니다.

+0

파일이 올바른 확장자를 가지고 있지 않기 때문에 생각합니다. –

+0

Excel의 확장명은 ".xls"입니다. 그렇지 않습니까? – KMC

+0

Excel 스프레드 시트는 .xls입니다. 그러나 Excel은 쉼표로 구분 된 값 파일 (.csv)과 같은 다른 파일 형식도 열 수 있습니다. –

답변

4

. Xls는 Excel 파일 확장명입니다. so

string path1 = "C:\\test.csv"; 

이 작동해야합니다.

관련 문제