日期:2014-05-18  浏览次数:20830 次

控制Excel 2007生成兼容2003模式的.xls文件
我使用C#导出Excel文件,可是C#控制Excel 2007生成的.xlsx文件Excel 2003时打不开的。而如果直接在程序中指定生成文件的扩展名是.xls使用Excel 2003打开时提示丢失信息。我写的代码如下:
 xSheet.SaveAs(FilePath+"CData2.xls",Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value, Missing.Value, Missing.Value, Missing.Value);

如果直接在Excel 2007中将文件另存为97-2003的兼容模式生成的.xls文件Excel 2003就能够正常打开。

请问应该如何用程序控制Excel 2007生成兼容模式的.xls文件?

------解决方案--------------------
忘了更改部分VB.Net 代码.
C# code

string fileName =FilePath+"CData2.xls"; 
Excel.XlFileFormat version= Excel.XlFileFormat.xlExcel8;//Excel 2003版本 
if(System.IO.Path.GetExtension(fileName).ToLower() == ".xlsx") version = Excel.XlFileFormat.xlOpenXMLWorkbook;//Excel 2007版本 

xSheet.SaveAs(fileName,version,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value, Missing.Value, Missing.Value, Missing.Value);