如何读取一张EXCEL表中数据到数据库? 读取一张excel表,excel表中的数据涉及到多个数据库表,还有Excel中有几行解释文字,如何排除掉? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 NPOI妥妥的搞定,自由度还很高。当然excel类也可以,就是要安装excel什么的,进程里还会多出一个excel.exe 读写EXCEL的功能,网上一大堆置于怎么分别对应的不同的表,就看你的Excel有啥规律了哦没规律的话,那就玩完哦 就是一个excel中,有多个数据库表中的数据,而且不是数据库表的全部字段(一个数据库表中插入部分字段的数据) /// <summary> /// 获取Excel 工作表 数据 /// </summary> /// <param name="excelPath">文件路径</param> /// <returns></returns> public DataSet GetExcelInfo(string excelPath) { //WriteLog(excelPath); string strconn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1};IMEX=1';", excelPath, "NO"); DataSet dsAll = new DataSet(); DataTable exceldt = new DataTable(); try { for (int i = 0; i < 2; i++) { exceldt.Clear(); using (OleDbConnection conn = new OleDbConnection(strconn)) { OleDbDataAdapter adapter = new OleDbDataAdapter("select * from [Sheet" + (i + 1) + "$]", conn); conn.Open(); adapter.Fill(exceldt); exceldt.TableName = "Sheet" + (i + 1); dsAll.Tables.Add(exceldt.Copy()); } } } catch (Exception ex) { WriteLog("读取Excel失败" + ex.ToString()); } return dsAll; }获取DataSet后在操作这个 后面就不用将了吧。。 excel表中 有几行是没用的解释文字,要排除掉,代码是将数据全都读到dataset了 http://code.google.com/p/npoi/官方自己有帮助http://tonyqus.sinaapp.com/,很全面地,excel操作很快捷,主要是没excel.exe 就这么点事情还要写程序啊,拷进access里同步进数据库就OK了 使用Sql读取如下:select *from openrowset( 'Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=d:123.xls', 'select * from [info$]')--注意项:--1.excel处于关闭状态,即不能处于被打开状态--2.excel文件所处路径及文件名、工作簿的名称不要出现汉字,尽量以英文命名--3.注意'select * from [info$]',工作簿名后的$是必须的. iReaper无法显示课程菜单 多线程如何释放使用的资源 求~SQL数据库里面的一张表转换成XML文件的源代码 C#书籍推荐 C# 中使用Access 的Update 语法 设置CheckBoxList 只读 JSP-->c# 把一个用IE登录后捕获的COOKIE字符串绑到HttpWebRequest,然后不停的请求,20分钟后会不会过期? Excel数据转SQL脚本 C# 操作excel的问题,解决定给分。 1个服务器,500台终端(触摸屏),之间如何通讯和更新数据 C# winform程序 webrowser控件问题,求大神!
当然excel类也可以,就是要安装excel什么的,进程里还会多出一个excel.exe
/// 获取Excel 工作表 数据
/// </summary>
/// <param name="excelPath">文件路径</param>
/// <returns></returns>
public DataSet GetExcelInfo(string excelPath)
{
//WriteLog(excelPath);
string strconn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1};IMEX=1';", excelPath, "NO");
DataSet dsAll = new DataSet();
DataTable exceldt = new DataTable();
try
{
for (int i = 0; i < 2; i++)
{
exceldt.Clear();
using (OleDbConnection conn = new OleDbConnection(strconn))
{
OleDbDataAdapter adapter = new OleDbDataAdapter("select * from [Sheet" + (i + 1) + "$]", conn);
conn.Open();
adapter.Fill(exceldt);
exceldt.TableName = "Sheet" + (i + 1);
dsAll.Tables.Add(exceldt.Copy());
}
}
}
catch (Exception ex)
{
WriteLog("读取Excel失败" + ex.ToString());
} return dsAll;
}获取DataSet后在操作这个 后面就不用将了吧。。
官方自己有帮助http://tonyqus.sinaapp.com/,很全面地,excel操作很快捷,主要是没excel.exe
select *
from openrowset
(
'Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=d:123.xls',
'select * from [info$]'
)
--注意项:
--1.excel处于关闭状态,即不能处于被打开状态
--2.excel文件所处路径及文件名、工作簿的名称不要出现汉字,尽量以英文命名
--3.注意'select * from [info$]',工作簿名后的$是必须的.