我有WPF DataGrid(VS2010 C#)。我将数据从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();
一切正常,除非我打开excel文件时它给了我两个警告:
“您要打开的文件 'test.xls'的格式不同 比文件扩展名指定的。 验证文件是否已损坏 并且来自可信赖的来源 打开文件。你想打开吗? 现在的文件?“
“Excel检测到'test.xls'是 一个SYLK文件,但无法加载它。“
但是在点击它之后,它仍然打开excel文件确定并且数据按照它应该的格式化。但是我无法在excel文件打开之前找到如何摆脱这两个警告。
答案 0 :(得分:4)
您需要使用csv作为扩展名。 Xls是Excel文件扩展名。 所以
string path1 = "C:\\test.csv";
应该有用。
答案 1 :(得分:2)
这里已经描述了像你这样的问题:generating/opening CSV from console - file is in wrong format error。 解决问题有助于解决问题吗?
编辑:这是与Microsoft KB相关的=> http://support.microsoft.com/kb/323626