社区
C#
帖子详情
请教C#导入导出Excel的问题(外部表不是预期的格式?)
ma_ta
2006-05-25 10:04:17
采用webform开发,导出是通过分隔符的方式用Response直接写到客户端,无论是存为xls或csv都很正常,并可用excel打开,可是用导入时用myCommand.Fill(ds,"table1")的方式总是提示"外部表不是预期的格式"并出错退出,我用的是vs2005 + excel2003,不知应该怎么解决
...全文
8324
21
打赏
收藏
请教C#导入导出Excel的问题(外部表不是预期的格式?)
采用webform开发,导出是通过分隔符的方式用Response直接写到客户端,无论是存为xls或csv都很正常,并可用excel打开,可是用导入时用myCommand.Fill(ds,"table1")的方式总是提示"外部表不是预期的格式"并出错退出,我用的是vs2005 + excel2003,不知应该怎么解决
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
FollowIT
2006-11-14
打赏
举报
回复
我的问题解决,原来是reporting services没有升级为sp2
FollowIT
2006-11-08
打赏
举报
回复
mark,碰到同样的问题,我是用reporting service导出的excel,再导入,就报错
:外部表不是预期的格式
另存为,就可以正常导入;
ldy_2162
2006-06-16
打赏
举报
回复
mrak too
ma_ta
2006-06-05
打赏
举报
回复
最终是用DataGrid通过Response导出成Excel格式,在页面直接打开,然后让用户另存为正式Excel格式,再导入就可以了
ma_ta
2006-05-31
打赏
举报
回复
还是没有找到好办法,晕啊
ma_ta
2006-05-31
打赏
举报
回复
我顶!
shichaoreal
2006-05-27
打赏
举报
回复
mark!
ma_ta
2006-05-27
打赏
举报
回复
TO:Knight94(愚翁)
我注册了,奇怪了啊:《
Firestone2003
2006-05-26
打赏
举报
回复
我也碰到过,主要是excel表里面的列与dataset里面的列不匹配的问题
zhqrshy
2006-05-26
打赏
举报
回复
外部表不是预期格式,原因一般有2个
1 是连接字符串问题
2 是excel文件的版本问题
excel文件版本要和连接字符串里的xls版本对应才能正确读写
若是excel文件2.1,那用oledb是无法打开读取的,除非你的excel版本是97。要用excel对象访问
Knight94
2006-05-26
打赏
举报
回复
to 你给的地址代码下载不了
你需要先注册才能下载
ma_ta
2006-05-26
打赏
举报
回复
TO:Knight94(愚翁)
你给的地址代码下载不了
dgrwang
2006-05-25
打赏
举报
回复
Response出来的就是这个问题,虽然他生成excel很快,但再导入数据库的时候就有毛病,还是用excel.dll控件吧,这个绝对没有问题
public void Out2Excel(string sTableName,string url)
{
Excel.Application oExcel=new Excel.Application();
Workbooks oBooks;
Workbook oBook;
Sheets oSheets;
Worksheet oSheet;
Range oCells;
string sFile="",sTemplate="";
//
System.Data.DataTable dt=TableOut(sTableName).Tables[0];
sFile=url+"\\myExcel.xls";
sTemplate=url+"\\MyTemplate.xls";
//
oExcel.Visible=false;
oExcel.DisplayAlerts=false;
//定义一个新的工作簿
oBooks=oExcel.Workbooks;
oBooks.Open(sTemplate,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing, Type.Missing, Type.Missing);
oBook=oBooks.get_Item(1);
oSheets=oBook.Worksheets;
oSheet=(Worksheet)oSheets.get_Item(1);
//命名该sheet
oSheet.Name="Sheet1";
oCells=oSheet.Cells;
//调用dumpdata过程,将数据导入到Excel中去
DumpData(dt,oCells);
//保存
oSheet.SaveAs(sFile,Excel.XlFileFormat.xlTemplate,Type.Missing,Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing);
oBook.Close(false, Type.Missing,Type.Missing);
//退出Excel,并且释放调用的COM资源
oExcel.Quit();
GC.Collect();
KillProcess("Excel");
}
private void KillProcess(string processName)
{
System.Diagnostics.Process myproc= new System.Diagnostics.Process();
//得到所有打开的进程
try
{
foreach (Process thisproc in Process.GetProcessesByName(processName))
{
if(!thisproc.CloseMainWindow())
{
thisproc.Kill();
}
}
}
catch(Exception Exc)
{
throw new Exception("",Exc);
}
}
Knight94
2006-05-25
打赏
举报
回复
那你换个方式,看看是否可以,参看
http://www.codeproject.com/csharp/excel_using_oledb.asp
lwjvince
2006-05-25
打赏
举报
回复
结构不一致,可能excel中有TABLE1中不相同的格式 比如图片格式
wangzhe811225
2006-05-25
打赏
举报
回复
应该是你的excel和table1的结构不一致
Yuna_2z
2006-05-25
打赏
举报
回复
MARK
shuiyubing1983
2006-05-25
打赏
举报
回复
那是因为Excel中的列对应有问题,也许是多出来一列或者少了一列
dgrwang
2006-05-25
打赏
举报
回复
用excel.dll确实比较慢,感觉10000条大概要1分多钟
ma_ta
2006-05-25
打赏
举报
回复
我也用了excel.dll这种方式,不过感觉10000条记录的时候很慢,而且要添加引用,真的很想知道用缓存的方式能不能实现,我打算用Response保存文件后,用打开文本文件的方式访问,不过有1列数据是规格型号,像什么,§|这些字符都可能被用到,有的列是空的所以空格也不好办,有点郁闷哪
WEB开发文档2 总结
转自:http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx怎样将后台生成的在内存中的图象显示到客户端Microsoft IE WebControls下载地址如何在DATAGRID中使用JAVASCRIPT脚本控制DataGrid中连接到下一页显示数据下载中文名文件时保存文件名乱码
问题
关于用ASP.net绘图的
问题
,请大虾指教那
数据库帖子收集
这样的数据列
表
在存储过程中应该怎么样选择得到? 请问造成SQL2000服务不能启动的原因有哪些? sql server中有無類似于if 的函數,即像這樣select if(cancel=1,'cancel','') from sales 这样怎么返回呀!!!!记录集的返回。。 谁能跟我说说期初库存怎么样的一个业务逻辑!都要处理哪些内容!需要每月进...
MS-SQL Server 基础类 - SQL语句
CSDN回帖得分大全(近两年)
√vs2005调用dll的时候Initialize()函数返回错误 [VC/MFC 基础类] 40 ylongwu 05-21 20:486 ylongwu06-28 13:42管理√为什么我创建登陆框之后,然后获取登陆框的数据时候总是出现非法操作! [VC/MFC 界面] 40 chencheng8095 05-23 00:2911 xianglitian06-10 11:51管理√CFileFind::FindFile 支持通配符么? [VC/MFC 基础类] 100 wysbk002 05-22
问题
总结
2019独角兽企业重金招聘Python工程师标准>>> ...
C#
110,577
社区成员
642,558
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章