2011-02-16 171 views
6

我有WPF DataGrid(VS2010 C#)。我將數據從DataGrid複製到剪貼板並將其寫入Excel文件。以下是我的代碼。將文本從WPF DataGrid複製到剪貼板到Excel

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(); 

一切順利OK除了當我打開Excel文件它給了我兩個警告:

「你試圖打開 ‘TEST.XLS’的文件是不同的格式 驗證文件沒有損壞 並且來自 打開文件之前的信任來源。是否要打開 該文件?

「Excel檢測到'test.xls'是 SYLK文件,但無法加載它。」

但之後我通過點擊它,它仍然打開Excel文件確定,因爲它應該是數據被格式化。但是在excel文件打開之前我找不到如何擺脫這兩個警告。

+0

我想這是因爲該文件沒有得到正確的擴展名。 – 2011-02-16 10:48:54

回答

4

您需要使用CSV作爲擴展名。 Xls是Excel文件的擴展名。 所以

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

應該工作。