Excel内数据导入datatable

NT5763 2010-09-09 09:31:49
要求把Excel内数据导入datatable

EXCEL内有些单元格合并了,导入到datatable后 ,把原来合并的单元格拆开并赋予原单元格值
...全文
310 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jointan 2010-09-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 nt5763 的回复:]
懒得写还写那么多屁话
[/Quote]
对于你这种孩子,我无话可说.

我已经说了:
对于合并单元格,你直接忽略就行了
不同版本的Excel对象模型不一样,给你贴出代码,你复制回去也未必能用
应该指出你调用环境下要包装的Excel版本


我已经对得起你了

NT5763 2010-09-12
  • 打赏
  • 举报
回复
懒得写还写那么多屁话
jointan 2010-09-12
  • 打赏
  • 举报
回复
我确实懒得给你贴代码了,对于合并单元格,你直接忽略就行了.前提是采用行列坐标读法.

楼上诸公说的,是用OLEDB的方法,对于有复杂格式的Excel,不适用.


就当帮你顶一下吧,还有,就是不同版本的Excel对象模型不一样,给你贴出代码,你复制回去也未必能用(方法的参数个数就不一样),所以有的人与其辛辛苦苦给你写一段代码,由于版本不同,带来编译通不过,换来一个不屑一顾的白眼,还不如不理这事.至少你应该指出你调用环境下要包装的Excel版本.


NT5763 2010-09-12
  • 打赏
  • 举报
回复
每次搞个回答都随便贴个代码 单是导入哪里都有代码
单元格有合并就赋那个值 随便敷衍 老大还不如给顶一个了事
ysz89757 2010-09-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nt5763 的回复:]
想知道的就是对数据的操作~导入哪儿都有
[/Quote]
导入到DATASET里。接下来操作数据应该不难吧
willy2358 2010-09-10
  • 打赏
  • 举报
回复
在execl 中需要定义表。
wuyq11 2010-09-09
  • 打赏
  • 举报
回复
打开excep判断单元格是否合并string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
DataSet ds = new DataSet();
using(OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
string str = "select * from [sheet1$]";
OleDbDataAdapter da= new OleDbDataAdapter(str, conn);
da.Fill(ds);
conn.Close();
}
NT5763 2010-09-09
  • 打赏
  • 举报
回复
想知道的就是对数据的操作~导入哪儿都有
liuqilin1987 2010-09-09
  • 打赏
  • 举报
回复
给你个导入的,对数据的操作很简单,自己做做
//确保已经选择了待导入的文件,首先上传,然后在服务器端完成导入
if (this.fuOpen.PostedFile.FileName != "")
{
if (this.fuOpen.FileName.Substring(this.fuOpen.FileName.LastIndexOf('.') + 1) == "xlsx" || this.fuOpen.FileName.Substring(this.fuOpen.FileName.LastIndexOf('.') + 1) == "xls")//确保文件是excel格式
{
if (this.fuOpen.FileName.Substring(this.fuOpen.FileName.LastIndexOf('.') + 1) == "xls")
{
Random rd = new Random(1);
string filename = DateTime.Now.Date.ToString("yyyymmdd") + DateTime.Now.ToLongTimeString().Replace(":", "") + rd.Next(9999).ToString() + ".xls";
try
{
this.fuOpen.PostedFile.SaveAs(@Server.MapPath("Salaryfileupload/") + filename);
}
catch (HttpException he)
{
Response.Write("<script>alert('\\n文件上传不成功,请检查文件是否过大,是否有写权限!')</script>");
return;
}
//读取文件内容到服务器内存
string strconn = @" Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + Server.MapPath("Salaryfileupload") + "/" + filename + ";Extended Properties=Excel 8.0";
OleDbConnection conn = new OleDbConnection(strconn);
conn.Open();
string time=showtime.Value.Trim();
if (time == null || time == "")
{
Response.Write("<script>alert('\\n你尚未选择日期!')</script>");
}
else
{
string Sql= bussiss.SelectString();
OleDbDataAdapter oda = new OleDbDataAdapter(Sql, conn);
DataSet ds = new DataSet();
oda.Fill(ds, "[Sheet1$]");
conn.Close();

//将数据插入数据库
bussiss.CheckTeachetExist(ds,time);
}
}

111,129

社区成员

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

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

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