Html格式的excel,找不到工作薄

K_top 2009-02-03 12:06:33
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};HTML Import;Extended Properties='Excel 8.0;HDR=yes;IMEX=0;'";
OleDbConnection conn = new OleDbConnection(String.Format(connString, filePath));
OleDbDataAdapter cmd = null;
DataSet ds = new DataSet();

try
{
conn.Open();
cmd = new OleDbDataAdapter("select * From [a$]", conn);
cmd.Fill(ds, "table1");
conn.Close();
}
catch (Exception err)
{
this.LastError = err.Message;
return null;
}

conn.open没问题,但到cmd.Fill(ds, "table1");就错误
错误:err.Message = "Microsoft Jet 数据库引擎找不到对象'a$'。请确定对象是否存在,并正确地写出它的名称和路径。"
[a$]没问题,工作薄名为a,肯定是html Import,才找不到工作薄,但如果没有html Import,conn.open()就能不能打开:报格式错误.

-=========================================================================================
我的excel格式如下,用记事本打开:
+ADw-html xmlns:o+AD0AIg-urn:schemas-microsoft-com:office:office+ACI-
xmlns:x+AD0AIg-urn:schemas-microsoft-com:office:excel+ACI-
xmlns+AD0AIg-http://www.w3.org/TR/REC-html40+ACIAPg-

+ADw-head+AD4-
+ADw-meta http-equiv+AD0-Content-Type content+AD0AIg-text/html+ADs- charset+AD0-utf-7+ACIAPg-
+ADw-meta name+AD0-ProgId content+AD0-Excel.Sheet+AD4-
+ADw-meta name+AD0-Generator content+AD0AIg-Microsoft Excel 11+ACIAPg-
+ADw-link rel+AD0-File-List href+AD0AIg-frmInsuranceEmployeeImpExcel.files/filelist.xml+ACIAPg-
+ADw-link rel+AD0-Edit-Time-Data href+AD0AIg-frmInsuranceEmployeeImpExcel.files/editdata.mso+ACIAPg-
+ADw-link rel+AD0-OLE-Object-Data href+AD0AIg-frmInsuranceEmployeeImpExcel.files/oledata.mso+ACIAPg-
+ADwAIQ---+AFs-if gte mso 9+AF0APgA8-xml+AD4-
+ADw-o:DocumentProperties+AD4-
+ADw-o:LastAuthor+AD4-vivian-hu+ADw-/o:LastAuthor+AD4-
+ADw-o:LastSaved+AD4-2009-02-03T03:45:43Z+ADw-/o:LastSaved+AD4-
+ADw-o:Version+AD4-11.9999+ADw-/o:Version+AD4-
+ADw-/o:DocumentProperties+AD4-
+ADw-/xml+AD4APAAhAFs-endif+AF0---+AD4-
+ADw-style+AD4-
+ADwAIQ---table
+AHs-mso-displayed-decimal-separator:+ACIAXA-.+ACIAOw-
mso-displayed-thousand-separator:+ACIAXA-,+ACIAOwB9-
+AEA-page....



请高手帮忙看看!
...全文
357 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
K_top 2009-02-05
  • 打赏
  • 举报
回复
没人回答我呀
K_top 2009-02-05
  • 打赏
  • 举报
回复
自已解决了
K_top 2009-02-04
  • 打赏
  • 举报
回复
imex=0 是只读
imex=1 是只写
imex=2 是可读可写的意思


j45kp 2009-02-04
  • 打赏
  • 举报
回复
导出的excel不存在,imex=0;就是excel一定是已经生成的,所以会报
K_top 2009-02-04
  • 打赏
  • 举报
回复
UPUP,问题还没解决呢...
liujiayu10 2009-02-03
  • 打赏
  • 举报
回复
还不如导出CSV
K_top 2009-02-03
  • 打赏
  • 举报
回复
一天了,都没人准确回答我.+_+

各位高手,进来看看哦.明天继续...
K_top 2009-02-03
  • 打赏
  • 举报
回复
UpUp
ZJ159 2009-02-03
  • 打赏
  • 举报
回复
K_top 2009-02-03
  • 打赏
  • 举报
回复
[a$]没问题,工作薄名为a,没好好看题目哦.

觉得就不是工作薄的原因,当conn.open后,这种html格式的excel,根本找到不任何的工作薄.
yagebu1983 2009-02-03
  • 打赏
  • 举报
回复
没遇到过。。。
关注。。。
up。。。
wuyq11 2009-02-03
  • 打赏
  • 举报
回复
a$表名称不正确看看工作薄名称
K_top 2009-02-03
  • 打赏
  • 举报
回复
所以还是问一楼的问题,请高手看看哦
K_top 2009-02-03
  • 打赏
  • 举报
回复
该excel文件,其实是一个动态生成的DataView,再生成html格式的excel模板,实现前列在excel隐藏.
该方法速度很快,不像
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
创建Excel对象速度极慢.

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧