Tag: oledb

.XLSX文件不生成具有多个8Klogging的工作表

我正在使用Excel 2007和OLE-DB提供程序来生成.xlsx文件。 这些文件有两张纸,第一张包含图表,第二张包含数据。 我正在使用以下连接string来生成excel: using (OleDbConnection conn = new OleDbConnection ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Test.xlsx;Extended Properties=\"Excel 12.0 XML;HDR=Yes;IMEX=0\"")) 该graphics使用Excel-Interop生成,然后closures工作簿。 接下来,开始一个新的工作stream程,打开相同的Excel文件并插入数据。 守则是这样的。 using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strFilename + ";Extended Properties=\"Excel 12.0 XML;HDR=Yes;IMEX=0\"")) { clsCommon.LogMessages("Excel Connection opening"); conn.Open(); clsCommon.LogMessages("Connection opened."); using (OleDbCommand cmd_createTable = new OleDbCommand("CREATE TABLE [" + SheetName + "](" + sb.ToString() + ")", […]

尝试使用OLEDB将数据插入Excel文件

我想要一个C#表单中的button,可以将数据插入到Excel表格中。 这就是我所做的: try { System.Data.OleDb.OleDbConnection MyConnection; System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand(); string sql = null; MyConnection = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\\Users\\Miko\\Documents\\WeightWatchers – Copy\\TrackingLoss.xlsx';Extended Properties=Excel 8.0;"); MyConnection.Open(); myCommand.Connection = MyConnection; sql = "Insert into [Sheet1] (Date,Loss) values(y,x)"; myCommand.CommandText = sql; myCommand.ExecuteNonQuery(); MyConnection.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } 当我尝试它时, 这个窗口是打开的。 任何人都知道为什么和做什么?

使用OleDb从Excel中select具有多个范围的列

我目前的需求是我需要从一个单一的查询Excel表(DUMMY.xls)中select多个范围,并把它放到一个DataTable(fooData1):正如你可以从上面的图像看到我有从A到F列。我筛选出从A到B和从D到F到单个数据表(fooData1)的列。 生成的数据表的内容应该是这样的: NAME ID Date Hobby COLOR DEEPAK 1 Coding Black ASTHA 2 Singing Red GAURAV 3 Dancing Blue BHAVESH 4 6/29/2007 Painting Green 我的代码是这样的: 并在执行查询时出现以下错误 “SQL语句结束后发现的字符” DataTable fooData1 = new DataTable(); System.Data.OleDb.OleDbConnection dbConnection = new System.Data.OleDb.OleDbConnection (@"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=C:\Dummy.xls;" + @"Extended Properties=""Excel 8.0;HDR=Yes;"""); dbConnection.Open(); try { string strSql = "SELECT * FROM [Sheet1$A:B] […]

用oleDb读取Excel编号的范围

我试图从第4行开始在B-E列中select所有内容,其中第4行是标题。 我的工作表名称是“PRODUCTION_Insurer索引”。 到目前为止,我的研究已经暗示,因为我的工作表名称中有空格,所以我需要用单引号将其包装在一起,并在最后添加一个$,这导致了以下SQL: select*从['PRODUCTION_Insurer指数$']select一切就好了。 我在实际select范围时遇到了麻烦。 此外,我研究了范围,并认为与Sheet1这样的名称,我可以做SELECT * FROM [Sheet1 $ B4:E]或类似的select一个范围 但是,以下SQL全部失败,出现错误: Microsoft Jet数据库引擎找不到对象''PRODUCTION_Insurer索引$ B4:E''。 确保对象存在,并且正确拼写其名称和path名称。 SELECT * FROM ['PRODUCTION_Insurer Index $ B4:E'] SELECT * FROM ['PRODUCTION_Insurer Index $'B4:E] SELECT * FROM ['PRODUCTION_Insurer Index'$ B4:E] SELECT * FROM ['PRODUCTION_Insurer Index $ B4:E313'] SELECT * FROM ['PRODUCTION_Insurer Index $'B4:E313] SELECT * FROM ['PRODUCTION_Insurer Index'$ B4:E313]

使用C#中的OLEDB从Excel中select单元格地址

我有一个以下的连接string: string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=template.xls;Extended Properties=""Excel 12.0 XML;"""; 连接成功。 而且我在Excel表格中有以下数据 ID Channel Upload 2_b_20_1 1 0,0 Mbps 2_b_20_2 2 0,0 Mbps 2_b_20_3 3 0,0 Mbps 2_b_20_4 4 0,0 Mbps 2_b_20_5 5 0,0 Mbps 2_b_20_6 6 0,0 Mbps 2_b_20_7 7 0,0 Mbps 2_b_20_8 8 0,0 Mbps 2_b_20_9 9 0,0 Mbps 2_b_20_10 10 0,0 Mbps 2_b_20_11 […]

“Microsoft Office 2007主互操作程序集”与“2007 Office System驱动程序:数据连接组件”是一样的吗?

我在Visual Studio 2010中创build了一个安装程序,用于需要使用OleDbConnection从xlsx电子表格读取数据的应用程序(连接string看起来像"Provider=Microsoft.Ace.OLEDB.12.0;Data Source='filename';Mode=ReadWrite;Extended Properties='Excel 12.0';HDR='Yes'"; 在我的机器上,我一直在从这个微软网站上安装“2007 Office System Driver:Data Connectivity Components”。 在Visual Studio中,“安装程序” – >“属性” – >“先决条件”中的可用先决条件列表不包括“2007 Office System驱动程序:数据连接组件”,但它包含“Microsoft Office 2007主互操作程序集” 微软网站 )。 我的问题是:将“Microsoft Office 2007 PIA”列为必备条件,是否允许我的OleDbConnection适用于尚未安装“2007 Office System Driver:Data Connectivity Components”的人员?

使用Microsoft.ACE.OLEDB.12.0将数据从Excel导入到SQL Server数据库

我正在开发一个应用程序,我需要从Excel导入数据到MS SQL Server数据库。 我已经在MS SQL Server机器上和我的机器上安装了Microsoft Access数据库引擎2010 Redistributable 像这样configurationMS SQL Server: USE [master] GO sp_configure 'show advanced options', 1 GO RECONFIGURE WITH OverRide GO sp_configure 'Ad Hoc Distributed Queries', 1 GO RECONFIGURE WITH OverRide GO EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1 GO EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1 GO 在我的应用程序中,我使用: SELECT * FROM […]

用OleDb读取Excel工作表

我正在尝试通过Microsoft.Jet.OLEDB.4.0阅读Excel工作表。 我跟着一个教程,编写代码并部署它。 它工作正常,但现在很长一段时间后,我们改变了服务器,现在当我把旧的代码部署到新的服务器,它给了我一个错误“的Microsoft.Jet.OLEDB.4.0提供者没有注册在本地计算机“。 我真的不记得我上次做了什么。 我已经尝试了很多东西,但没有任何工作。 我不能使用任何其他的DLL,因为我们没有安装在服务器上的办公室。 任何人都可以请指导我。

找不到工作表

我试图从我的Excel文件中select“报告详细信息”工作表。 不过,我在select它时遇到了麻烦, Microsoft Jet数据库引擎找不到对象的“报告详细信息”。 确保对象存在,并且正确拼写其名称和path名称。 if (fileExtension == ".xls") { connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\""; } else if (fileExtension == ".xlsx") { connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\""; } OleDbConnection con = new OleDbConnection(connString); OleDbCommand cmd = new OleDbCommand(); cmd.CommandType = System.Data.CommandType.Text; cmd.Connection = con; OleDbDataAdapter […]

在C#列表中重复计算特定值的次数

我有一个7列的列表,其中有几行数据是使用Oledb从Excel表导入的。 现在我想通过列表,并从第1列检查第一列的第一行的值,并找出多less次它出现在列表中,如果它不止一次出现,我想存储所有其他列值以及另一个列表中的第一列进行一些操作 例如,我在列表中有以下几行数据 Time CC Month prc str tx qq 14:46:00 NP 14-Dec 4.0000 6,000 14:46:00 LN 14-Dec 6.00 Put 2.0090 1,500 14:46:00 LN 14-Dec 6.00 Call 0.0095 1,500 14:42:57 LN 14-Sep 3.85 Put 0.0860 50 14:42:57 LN 14-Sep 3.85 Call 0.1200 50 14:34:00 LN 14-Sep 3.25 Put 0.0025 200 14:34:00 LN 14-Sep 3.50 Put […]