我使用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文件?
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文件?
Excel.XlFileFormat version= Excel.XlFileFormat.xlExcel8;//Excel 2003版本
if(System.IO.Path.GetExtension(fileName).ToLower() = ".xlsx") Then 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);
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);
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState = false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw); GridView1.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
Excel.XlFileFormat version= Excel.XlFileFormat.xlExcel8;//Excel 2003版本
if(System.IO.Path.GetExtension(fileName).ToLower() = ".xlsx") Then 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);
请问这Excel是怎么定义的?