C# OleDbConnection读取加装Excel2003(.xls),Excel2007(.xlsx)文件
C# OleDbConnection读取加装Excel2003(.xls),Excel2007(.xlsx)文件
OleDbConnection连接参数:
Extended Properties:Excel 2007或以上版本=Excel 12.0
Extended Properties:Excel 2007或以上版本=Excel 8.0
HDR:Excel文件第一条记录作为列头,对应DataTable的字段名称。
C#读取加装Excel 2007(.xlsx)文件:
C# Code:
/// <summary>
/// 根据excle的路径把第一个sheel中的内容放入datatable
/// </summary>
/// <param name="execlFile"></param>
/// <returns></returns>
public DataTable ImportExcelXlsx(string execlFile)
{
//
//连接字符串
//
//Office 07及以上版本,读取XLSX文件
string connstring = "Provider=Microsoft.Ace.OleDb.12.0;" + "Data Source=" + execlFile + ";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
//Office 07以下版本,读取xls文件
//string connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + execlFile + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";
using (OleDbConnection conn = new OleDbConnection(connstring))
{
conn.Open();
DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字
string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串
//string sql = string.Format("SELECT * FROM [{0}] WHERE [日期] is not null", firstSheetName); //查询字符串
OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
DataSet set = new DataSet();
ada.Fill(set);
return set.Tables[0];
}
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
/// 根据excle的路径把第一个sheel中的内容放入datatable
/// </summary>
/// <param name="execlFile"></param>
/// <returns></returns>
public DataTable ImportExcelXlsx(string execlFile)
{
//
//连接字符串
//
//Office 07及以上版本,读取XLSX文件
string connstring = "Provider=Microsoft.Ace.OleDb.12.0;" + "Data Source=" + execlFile + ";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
//Office 07以下版本,读取xls文件
//string connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + execlFile + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";
using (OleDbConnection conn = new OleDbConnection(connstring))
{
conn.Open();
DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字
string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串
//string sql = string.Format("SELECT * FROM [{0}] WHERE [日期] is not null", firstSheetName); //查询字符串
OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
DataSet set = new DataSet();
ada.Fill(set);
return set.Tables[0];
}
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
C#读取加装Excel 2003或以下版本(.xls)文件:
C# Code:
/// <summary>
/// 根据excle的路径把第一个sheel中的内容放入datatable
/// </summary>
/// <param name="execlFile"></param>
/// <returns></returns>
public DataTable ImportExcelXls(string execlFile)
{
//
//连接字符串
//
//Office 07及以上版本,读取XLSX文件
//string connstring = "Provider=Microsoft.Ace.OleDb.12.0;" + "Data Source=" + execlFile + ";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
//Office 07以下版本,读取xls文件
string connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + execlFile + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";
using (OleDbConnection conn = new OleDbConnection(connstring))
{
conn.Open();
DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字
string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串
//string sql = string.Format("SELECT * FROM [{0}] WHERE [日期] is not null", firstSheetName); //查询字符串
OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
DataSet set = new DataSet();
ada.Fill(set);
return set.Tables[0];
}
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
/// <summary>
/// 根据excle的路径把第一个sheel中的内容放入datatable
/// </summary>
/// <param name="execlFile"></param>
/// <returns></returns>
public DataTable ImportExcelXls(string execlFile)
{
//
//连接字符串
//
//Office 07及以上版本,读取XLSX文件
//string connstring = "Provider=Microsoft.Ace.OleDb.12.0;" + "Data Source=" + execlFile + ";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
//Office 07以下版本,读取xls文件
string connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + execlFile + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";
using (OleDbConnection conn = new OleDbConnection(connstring))
{
conn.Open();
DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); //得到所有sheet的名字
string firstSheetName = sheetsName.Rows[0][2].ToString(); //得到第一个sheet的名字
string sql = string.Format("SELECT * FROM [{0}]", firstSheetName); //查询字符串
//string sql = string.Format("SELECT * FROM [{0}] WHERE [日期] is not null", firstSheetName); //查询字符串
OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);
DataSet set = new DataSet();
ada.Fill(set);
return set.Tables[0];
}
}
//来源:C/S框架网(www.csframework.com) QQ:23404761
测试:
C# Code:
//测试xls
string file = @"C:\Users\Administrator\Downloads\keywordlist_20200308.xls";
DataTable dt = new KeywordBaiduUpload().ImportExcelXls(file);
Console.WriteLine("记录数:" + dt.Rows.Count);
//测试xlsx
string file1 = @"C:\Users\Administrator\Downloads\keywordlist_20200308.xlsx";
DataTable dt1 = new KeywordBaiduUpload().ImportExcelXlsx(file1);
Console.WriteLine("记录数:" + dt.Rows.Count);
Console.ReadLine();
//来源:C/S框架网(www.csframework.com) QQ:23404761
string file = @"C:\Users\Administrator\Downloads\keywordlist_20200308.xls";
DataTable dt = new KeywordBaiduUpload().ImportExcelXls(file);
Console.WriteLine("记录数:" + dt.Rows.Count);
//测试xlsx
string file1 = @"C:\Users\Administrator\Downloads\keywordlist_20200308.xlsx";
DataTable dt1 = new KeywordBaiduUpload().ImportExcelXlsx(file1);
Console.WriteLine("记录数:" + dt.Rows.Count);
Console.ReadLine();
//来源:C/S框架网(www.csframework.com) QQ:23404761
参考文档:
C#使用SqlBulkCopy快速导入Excel文件(xls/xlsx)-C/S开发框架
OLEDB创建DbConnection连接Excel文件报错:未在本地计算机上注册ACE.OLEDB
CSFrameworkV6旗舰版 | 导入导出Excel文件数据开发教程|C/S开发框架
C# .NET8使用NPOI导出数据到Excel文件
在基类窗体扩展一个通用导出Excel文件的按钮(支持导出所有表格的数据到Xlsx文件)
C# Excel xls文件导入程序Excel数据库通用类XlsFileDB
C#读取Excel文件提示:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”
Winform框架通用导入Excel文件源码下载
C# 取真实的文件类型
Dev XtraReport导出文件可以根据后缀名来导出不同的格式
文件对话框多种文件格式设置(Open/SaveFileDialog.Filter属性设置)
SqlServer自动备份计划,备份多个数据库,自动删除备份文件|C/S开发框架
ORACLE 使用 expdp 命令导出dmp数据库文件|C/S开发框架
C/S架构软件开发平台V6旗舰版 | 客户端运行环境需要的程序文件|C/S开发框架
CSFrameworkV6旗舰版开发框架客户交接文件清单|C/S开发框架
EFCore+.NET8:使用Oracle数据库提交大图片文件需要指定BLOB类型|C/S开发框架
C#使用SqlBulkCopy快速导入Excel文件(xls/xlsx)-C/S开发框架
OLEDB创建DbConnection连接Excel文件报错:未在本地计算机上注册ACE.OLEDB
CSFrameworkV6旗舰版 | 导入导出Excel文件数据开发教程|C/S开发框架
C# .NET8使用NPOI导出数据到Excel文件
在基类窗体扩展一个通用导出Excel文件的按钮(支持导出所有表格的数据到Xlsx文件)
C# Excel xls文件导入程序Excel数据库通用类XlsFileDB
C#读取Excel文件提示:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”
Winform框架通用导入Excel文件源码下载
C# 取真实的文件类型
Dev XtraReport导出文件可以根据后缀名来导出不同的格式
文件对话框多种文件格式设置(Open/SaveFileDialog.Filter属性设置)
SqlServer自动备份计划,备份多个数据库,自动删除备份文件|C/S开发框架
ORACLE 使用 expdp 命令导出dmp数据库文件|C/S开发框架
C/S架构软件开发平台V6旗舰版 | 客户端运行环境需要的程序文件|C/S开发框架
CSFrameworkV6旗舰版开发框架客户交接文件清单|C/S开发框架
EFCore+.NET8:使用Oracle数据库提交大图片文件需要指定BLOB类型|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
