Tag: ado.net

用ADO.NET读取内存中的Excel文件(字节数组)?

我想使用ADO.net从Excel文件中提取一些数据。 这个过程在互联网上logging的很好。 我的看法是,我的文件已被用户上传,因此只存在于内存中的字节数组。 出于安全性和性能的原因,我宁愿不把这个文件写入磁盘。 有没有一种方法来构build连接字节数组的连接string? 或者可能暴露数组作为实际存储在内存中的文件(就像我猜的RAM磁盘)?

数据表自动转换为“0.000095”至“9.5E-05”

我从包含这样的数据“0.000095”的excel表格填充我的数据集。 数据集返回的Datatable包含stringtypes的所有列。 但由于某些原因,我想精确的数据是在Excel表中,而不是自动将其转换为“9.5E-05”。 string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; OleDbDataAdapter adapter; DataSet ds = new DataSet(); adapter = new OleDbDataAdapter("Select * from [Sheet1$]", connstring); adapter.Fill(ds);

使用无第一行的ADO.NET头文件从Excel工作表获取数据

有没有办法从头文件不在第一行时使用ADO.net和头名称从Excel表单中检索数据? 例如 [1: |BLANK | BLANK | BLANK | ] < Blank row [2: |Name | Age | Address | ] < Header row [3: |John | Smith | Abstr. | ] < Data row 没有可能指定一个“起始单元”? 例如 范围A9:EndOfFile 这个技巧能解决我的问题吗?

尝试在命令文本中包含多部分标识符时的语法

我正在尝试使用Asp.net将数据直接从Microsoft Excel文件复制到数据库中。 问题是电子表格有一个名为Product[°C]的列,当我将其包含在查询中时,无法将其parsing为有效的SQL。 我从示例中使用以下代码来了解如何通过OleDb和Ado.net连接并查询Excel文件 。 var conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0},HDR={1}"; conStr = String.Format(conStr, FilePath, isHDR); OleDbConnection connExcel = new OleDbConnection(conStr); OleDbCommand cmdExcel = new OleDbCommand(); connExcel.Open(); var SheetName = "Sheet1$"; // … cmdExcel.CommandText = "SELECT [Date/time] as [Date/time], [Product[°C]]] as [Product] From [" + SheetName + "] "; 这里的问题是[Product[°C]]] 。 debugging器给出一个错误说: 附加信息:查询expression式'[Product [°C]]]'中的语法错误'。 就像我想要在SQL中使用[Product [°C]]查询表一样,我可以通过使用: […]

比较来自不同input源的两个数据表

我们在C#中有两个数据表,其中一个数据表从SQL数据库中获取数据,另一个从EXCEL表中获取数据,当我试图比较两个数据表时它不工作。 请检查以下情况 比较两个数据表,其中第一个从SQL和SQL第二个数据 – 工作正常。 比较两个数据表,其中第一个从EXCEL获取数据,第二个从EXCEL获取数据 – 工作正常。 比较两个数据表,其中第一个从EXCEL获取数据,第二个从SQL-不工作。 你可以请让我们解决任何问题。

导入Excel到SQL数据库表

我正在尝试将数据从Excel电子表格写入SQL数据库。 我已经能够连接到Excel电子表格并读取数据,但是我无法将数据插入到SQL数据库表中。 目前的代码如下 任何帮助最高度赞赏。 Dim plmExcelCon As System.Data.OleDb.OleDbConnection Dim ldExcelDS As System.Data.DataSet Dim cmdLoadExcel As System.Data.OleDb.OleDbDataAdapter Dim PrmPathExcelFile As String PrmPathExcelFile = txtImportFileLocation.Text.ToString plmExcelCon = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PrmPathExcelFile + ";Extended Properties=Excel 12.0;") cmdLoadExcel = New System.Data.OleDb.OleDbDataAdapter("select * from [" + txtImportSheetName.Text + "$]", plmExcelCon) ldExcelDS = New System.Data.DataSet cmdLoadExcel.Fill(ldExcelDS) dgvImportData.DataSource = ldExcelDS.Tables(0) plmExcelCon.Close() […]

使用ado.net更新EXCEL中的数据,如何引用sql语句中的列?

我使用ADO.NET OLeDB驱动程序连接到excel文件。 在连接string我有HDR = NO(这意味着我的Excel文件没有标题) 我想要运行更新语句并参考excel文件中的列。 下面的SQL查询会引发以下错误: 没有给出一个或多个必需参数的值。 update [fact$] set AC='test123' where DO='xxxyyy' 这里“AC”和“DO”是excel表单“事实”上的各个列。

如何通过ADO / ODBC访问Excel命名表?

我有一个多张工作簿,并在工作簿中创build命名表(NOT范围)。 为了说明的目的,这些表名是tblA,tblB和tblC。 我无法find通过ADO或ODBC查询这些表的方法。 我可以访问命名的范围,但这不适合我的需要。 谢谢!

C#,OLEDB从指定的行读取Excel文件

我需要使用Ado.Net从第10行开始读取Excel文件中的表格(第10行之前的行有其他数据,它们的格式不正确,并且包含横幅,单元格拆分等)。 我怎样才能做到这一点?

使用ADO 3.5将数据从Excel导入到64位应用程序中

我目前正在开发一个64位C#应用程序,需要从Excel电子表格中导入其数据。 我听说最好的方法是使用ADO数据连接。 但是,我已经阅读(并经历过)为了实现这个目的,我必须编写一个32位应用程序,因为没有用于64位应用程序的OleDb odbc驱动程序。 问题是,我不能编译我的应用程序作为一个32位应用程序或程序的其他部分(这是不可重写)将打破。 我无法从64位应用程序导入Excel数据,这似乎是一个相当荒谬的问题。 我如何解决这个问题? 或者,如果没有,有什么解决办法可用?