在硬盘上读取一个Excel格式的文件,但它没有.xls扩展名,是一个未知程序。但它的确是Excel文件,只不过是别的程序导出时将扩展名去掉了,打开方式用Excel可以打开,而且格式也正确。我通过组合字符串的方式生成了["Provider=Microsoft.Jet.Oledb.4.0;Data Source= " + this.DuctIntoBtnEdit.Text + ".xls" + ";Extended Properties=Excel 8.0"; ]语句,往下都很顺利,到了[myDataAdapter = new OleDbDataAdapter(string.Format("Select * from [{0}$]",SheetName),connection);]这一步时,[SheetName]变量就是我硬盘的文件名,同时也是这个Excel文件的Sheet名,但到了[myDataAdapter.Fill(myDataTable);]这一步时,报错[{"Microsoft Jet 数据库引擎找不到对象'SheetName$'。请确定对象是否存在,并正确地写出它的名称和路径。" }]这个错误,
如果我手动将文件添上.xls,就顺利通过。这是什么原因?? 有什么解决的办法么~~~~
如果我手动将文件添上.xls,就顺利通过。这是什么原因?? 有什么解决的办法么~~~~
解决方案 »
- 利用Process.start 打开一个程序,不加载其中的ini文件配置
- 用storyboard做控件的移动,必须结合Canvas吗?
- winform 做类似IE那种选项卡
- 调用非泛型ArrayList的Remove方法运算结构和类怎么得到的结果不一样
- 大家目前有哪些比较好一点的SOKCET架构呢
- 【高手进】请人做类似局域网监控软件!
- dataset ds1装完数据后,什么时候自动释放内存呢?
- c# for循环
- 我告诉你应该选择VB。NET还是C#!!!!!!!!!!!!!!!!!!
- 怎样将对象引用转化成对象实例?
- 如何通过DataReader得到到列数的个数.
- Excel读取问题,帮帮我吧,急!!!
给SHEET页负值的,你参考下:
public static void SetWorkSheetName (string fileName ,int sheetIndex,string sheetName)
{
Excel.Application objApp;
Excel.Workbooks objBooks;
Excel._Workbook objBook;
Excel.Sheets objSheets;
Excel._Worksheet objSheet;objApp = myApp;
objApp.Visible = false;
objBooks = objApp.Workbooks;try
{
objBook = objBooks.Open(fileName,Type.Missing ,Type.Missing ,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);
objSheets = objBook.Worksheets;if ((sheetIndex > objSheets.Count )|| (sheetIndex <= 0 ))
{
throw new Exception("工作表索引超出范围!");
}objSheet = (Excel._Worksheet)objSheets.get_Item(sheetIndex);
objSheet.Name = sheetName ;
objBook.Save();}
catch(Exception theException)
{
String errorMessage;
errorMessage = "Error: ";
errorMessage = String.Concat( errorMessage, theException.Message );
errorMessage = String.Concat( errorMessage, " Line: " );
errorMessage = String.Concat( errorMessage, theException.Source );
}
finally
{
objApp.UserControl = true ;
objApp.Quit();
}return ;
}