我有一个winform应用程序,我想使用流编写器和savefiledialog.But将我的数据表导出到Office2007(.xlsx)格式。当我打开excel文件时,我遇到这个错误:文件格式或文件扩展名无效。
Fx_3saveFileDialog.Filter =“Excel2007-2010文件(.xlsx)|*.xlsx;Fx_3saveFileDialog.DefaultExt = "xlsx";
if (Fx_3saveFileDialog.ShowDialog() == DialogResult.OK)
{
dsUrunTableAdapters.PF_FormDegerTableAdapter adapter = new dsUrunTableAdapters.PF_FormDegerTableAdapter();
dsUrun.PF_FormDegerDataTable degertable = new dsUrun.PF_FormDegerDataTable();
adapter.Fill(degertable);
StreamWriter writer = new StreamWriter(Fx_3saveFileDialog.FileName,true);
//StringWriter sw = new StringWriter();
//StringBuilder sb = new StringBuilder(dialog.FileName);
writer.Write("<html>");
writer.Write("<head>");
writer.Write("</head>");
writer.Write("<body>");
writer.Write("<table>");
foreach( DataColumn c in degertable.Columns )
{
//writer.Write(c.Caption);
writer.Write("<td>");
writer.Write(c.Caption);
writer.Write("</td>");
}
writer.Write("</table>");
writer.Write("</body>");
writer.Write("</html>");
//writer.WriteLine();
foreach (DataRow r in degertable.Rows)
{
//writer.Write(r[degertable.SecilebilecekDegerlerColumn].ToString());
}
writer.Close();发布于 2012-04-30 22:14:40
Excel文件是包含开放格式的压缩文件。您正在编写一个HTML页面,并为其提供一个xlsx扩展名,这是行不通的。
您可以使用COM和操作Excel来添加单元格,或者最简单的方法是将表格输出为CSV文本文件(逗号分隔的文件),Excel可以非常轻松地读取该文件。
https://stackoverflow.com/questions/10385092
复制相似问题