C#.net与Excel的导入导出问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 20:15:57
我的导入是这样写的:
private DataTable ExcelToDataTable(string filePath)
{
string ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ filePath + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
OleDbConnection oleCon = new OleDbConnection(ConnStr);
oleCon.Open();
string sql = "select * from [Sheet1$]";
DataSet ds = new DataSet();
OleDbDataAdapter oleAdper = new OleDbDataAdapter(sql, oleCon);
oleAdper.Fill(ds, "亲属信息");
oleCon.Close();
return ds.Tables[0];
}

导出的时候是这样写的:
protected void btnDaochu_Click(object sender, EventArgs e)
{
GridView1.Columns[0].Visible = false;
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Conten

1.如果我自己新建立一个Excel。然后把数据贴到里面。不管外面这个excel是否为打开状态,数据都能导入进去
--Response.AppendHeader("Content-Disposition", "attachment;filename=FileName.xls"); 你已经写死了保存在FileName.xls 这样肯定是可以的呀
2.可当我到程序中的数据导出后,想把这个excel中的数据再导入进系统。就出错了。每次在执行oleCon.Open();的
时候就有问题了,如果把那个excel在外面提前打开,再导入,就又能成功
--导出肯定是没问题的 但导入的话肯定会出问题
a.Excel文件默认类型不是 导出来的数据类型 然而导入肯定是会出问题
b.还有值得注意的事 Excel默认数据类型的情况下 不支持以0开头的数据 除非设置列表为文本
==oleCon.Open();可以不要 OleDbDataAdapter本身就可以打开连接
3.其他 你可以到我的博客
http://hi.baidu.com/luosheng080128/blog/item/a19575cb8f24fcfa53664f33.html 有你想要的方法

提出几点你需要关注的建议,第一 你看看系统进程在你每次导入到处中excel的进程是否关闭,其次 关注一下 系统的excel权限设置问题,最后就是我原来用的excel导入导出是按单元格倒的,你这样这个表倒的,确实不知道,如果需要可以hi我~~

可能是进程的问题,