Tag: oledb

DDE是否仍然重要? 哪些是替代品?

我正在研究一个股票交易信息平台,我们正在考虑提供我们的平台和自制的Excel文件之间的链接。 金融市场仍然受到DDE服务器方式的束缚,现在是否仍然如此呢? 在Excel文件,OLE DB查询上自动进行在线数据更新有哪些select? 我想知道是否有人在C#和.NET中实现OLE DB提供程序的任何示例。 我们的API将完全在线和RESTful,有任何Web服务替代链接这些数据到Excel? 我记得有一个Web Services Toolkit的Excel 2003,但在Excel 2007中找不到任何与之相近的东西。

如何使用OleDbDataAdapter从Excel文件中的任何电子表格中进行select

我正在使用OleDbDataAdapter从Excel文件中提取数据集,但我有SELECT语句里面的问题 DataSet excelDataSet = new DataSet(); using (OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionString)) { con.Open(); OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter("select * from [Name of spreadsheet]", con); cmd.Fill(excelDataSet); con.Close(); } 如果您看到“我"select * from [Name of spreadsheet]" ,但是我需要获取任何电子表格或第一个电子表格,但是此电子表格的名称可以是任何内容。 如何指定它? 是否有任何特殊字符,如"select * from [%]"

如何在C#中使用oledb只上载非空行的Excel电子表格?

我正在使用oledb连接导入excel表格到DataTable,如下所示。 private static DataTable UploadExcelSheet(string fileName) { DataTable uploadDataTable; using (OleDbConnection objXConn = new OleDbConnection()) { objXConn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0;IMEX=1\""; objXConn.Open(); OleDbCommand objCommand = new OleDbCommand("SELECT * FROM Template$ ", objXConn); OleDbDataAdapter objDataAdapter = new OleDbDataAdapter(); // retrieve the Select command for the Spreadsheet objDataAdapter.SelectCommand = objCommand; // Create […]

Microsoft ACE OLEDB提供程序抛出无法find可安装的ISAMexception

我正在尝试使用64位进程读取Excel电子表格。 因此,我使用64位版本的Micorosft Access数据库引擎2010 。 下面的代码 var cs = @"Provider=Microsoft.ACE.OLEDB.12.0;" + @"Data Source=C:\test.xls;" + @"Extended Properties=""Excel 14.0;"""); con = new OleDbConnection(cs); con.Open(); 抛出一个例外: 找不到可安装的ISAM 使用谷歌,我发现了很多关于这个exception的问题。 但是他们提到JET,似乎不适用于我的问题。 任何build议?

阅读一个大的Excel文件

我想知道什么是在Excel中读取单元格的最快方法。 我有一个包含50000行的Excel文件,我想知道如何快速读取它。 我只需要阅读第一栏和oledb连接,我需要15秒。 有更快的方法吗? 谢谢

使用C#访问Excel电子表格有时会返回某些单元格的空白值

我需要访问Excel电子表格,并将电子表格中的数据插入到SQL数据库中。 然而,主键是混合的,大多数是数字,一些是字母数字。 我遇到的问题是,当数字键和字母数字键在同一电子表格中时,字母数字单元格返回空白值,而所有其他单元格都没有问题返回其数据。 我正在使用OleDb方法来访问Excel文件。 用命令string检索数据后,我把数据放入一个DataAdapter,然后填充一个DataSet。 我遍历DataSet中第一个DataTable中的所有行(dr)。 我使用dr [“…”]来引用列。ToString() 如果我在Visual Studio 2008中debugging项目,并查看“扩展属性”,通过将鼠标放在“dr”上,我可以查看DataRow的值,但是应该是字母数字的主键是{}。 其他值用引号括起来,但空白值有大括号。 这是一个C#问题或Excel问题? 有没有人曾经遇到过这个问题,或者可能find解决方法/修复? 提前致谢。

在C#中使用OLEDB读取密码保护的excel文件

在我的C#应用​​程序中,我使用OLEDB连接string“ Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test.xls;Extended Properties=\"Excel 8.0;HDR=NO;ReadOnly=true;IMEX=1\" ”来读取Excel文件。 为了读取受密码保护的文件,我尝试在连接string中添encryption码字段,但无法读取文件。 我想知道是否有任何方法来读取使用OLEDB密码保护的Excel文件,如果我事先知道它的密码。

Excel单元格值由OLEDB提供程序截断

我使用OleDbConnection类从Excel 2000/2003工作簿检索数据: string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filename + ";" + "Extended Properties=\"Excel 8.0;IMEX=1\";"; OleDbConnection connection = new OleDbConnection(connectionString); connection.Open(); // code to get table name from schema omitted var dataAdapter = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}]", name),connection); var myDataSet = new DataSet(); dataAdapter.Fill(myDataSet, "ExcelInfo"); 现在事实certificate,长度大于255个字符的工作表中的单元格被截断。 这是Microsoft.Jet.OLEDB提供程序中的限制,还是我可以做些什么呢? 任何人?

使用OLEDB数据提供程序读取excel文件

我正在使用OLEDB数据提供程序来读取excel文件,但问题是,在Excel表中,一些cloumn有一个无效的值例如,而不是数字string在那里,当我读取这个无效的值,我得到一个空string,而不是实际值。 为上面的截图,当我读取值约翰获得空string。 那么有什么方法可以读取这个无效值吗? 任何帮助将不胜感激。 该代码是读取excel文件 private DataTable ReadExcelFile(string sheetName, string path) { using (OleDbConnection conn = new OleDbConnection()) { DataTable dt = new DataTable(); string Import_FileName = path; string fileExtension = Path.GetExtension(Import_FileName); if (fileExtension == ".xls") conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Import_FileName + ";" + "Extended Properties='Excel 8.0;HDR=YES;'"; if (fileExtension == ".xlsx") conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data […]

“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机(服务器)上注册

我知道这个问题有十几个答案和post,但没有任何作品适合我。 我有我的MVC 5应用程序,我将它部署到我的服务器的IIS 7.5。 应用程序运行良好,一切工作,直到我去使用ACE.OLEDB行动。 我得到这个错误: [InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.] System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper) +1785474 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +1802032 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +100 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) +61 System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) […]