本人刚接触C#,自己用 FileStream 创建了一个excel文件,但去打不开,是怎么回事啊,谢谢了啊。
自己写的代码如下所示:FileStreamafile=newFileStream(@"E:\shiyan10.xlsx",FileMode.CreateNew,FileA...
自己写的代码如下所示:FileStream afile = new FileStream ( @"E:\shiyan10.xlsx", FileMode.CreateNew, FileAccess.ReadWrite ); 自己运行后提示说 : Excel 无法打开文件“shiyan10.xlsx”,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。 这是怎么回事啊,怎么解决呢该??谢谢了啊先
展开
1个回答
2010-12-05
展开全部
我倒!我也奇怪:我创建了一个以 ".导弹" 为扩展名的文件,它咋就不能发射捏?
不是你给一个文件命名为一个".xlsx" 它就是excel文件,你的 shiyan10.xlsx 实际只是0字节的个文本文件。扩展名与格式没有必然联系,扩展名只是告诉系统或使用者这个文件应该用什么程序打开,但你可以修改任何一个文件的扩展名,将一个.txt文件的扩展名改成.xlsx,它还是个文本文件,你仍然不能用excel来打开。
你要真正的创建Excel文件用下面的方法:
public void CreateExcel( string fileName)
{
Object missing = Missing.Value;
Microsoft.Office.Interop.Excel.Application m_objExcel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbooks m_objWorkBooks = m_objExcel.Workbooks;
Microsoft.Office.Interop.Excel.Workbook m_objWorkBook = m_objWorkBooks.Add(true);
Microsoft.Office.Interop.Excel.Sheets m_objWorkSheets = m_objWorkBook.Sheets; ;
Microsoft.Office.Interop.Excel.Worksheet m_objWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)m_objWorkSheets[1];
m_objWorkBook.SaveAs(fileName, missing, missing, missing, missing, missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
missing, missing, missing, missing, missing);
m_objWorkBook.Close(false,missing,missing);
m_objExcel.Quit();
}
不是你给一个文件命名为一个".xlsx" 它就是excel文件,你的 shiyan10.xlsx 实际只是0字节的个文本文件。扩展名与格式没有必然联系,扩展名只是告诉系统或使用者这个文件应该用什么程序打开,但你可以修改任何一个文件的扩展名,将一个.txt文件的扩展名改成.xlsx,它还是个文本文件,你仍然不能用excel来打开。
你要真正的创建Excel文件用下面的方法:
public void CreateExcel( string fileName)
{
Object missing = Missing.Value;
Microsoft.Office.Interop.Excel.Application m_objExcel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbooks m_objWorkBooks = m_objExcel.Workbooks;
Microsoft.Office.Interop.Excel.Workbook m_objWorkBook = m_objWorkBooks.Add(true);
Microsoft.Office.Interop.Excel.Sheets m_objWorkSheets = m_objWorkBook.Sheets; ;
Microsoft.Office.Interop.Excel.Worksheet m_objWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)m_objWorkSheets[1];
m_objWorkBook.SaveAs(fileName, missing, missing, missing, missing, missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
missing, missing, missing, missing, missing);
m_objWorkBook.Close(false,missing,missing);
m_objExcel.Quit();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询