Tag: oledb

我是否需要安装Excel来查询使用OleDB Provider的电子表格?

我正在使用一些使用OleDB打开.xls文件的软件,查询一些数据,并用结果填充数据集。 我现在正在考虑在没有Excel的系统上使用这个软件。 我的软件能够读取电子表格吗? 这个xls文件包含我的软件使用的configuration设置的1000个。 如果这个设置不能在没有Excel的计算机上工作,我猜我的下一个最好的举措是将xls文件转换为XML文件并使用XML服务读取它。

在OLEDB中IMEX的默认值是什么?

string strConn = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" + filename + ";Extended Properties=\"Excel 12.0 Xml;HDR=Yes;IMEX=1\";"; 我在谷歌search,没有结果。 我认为默认值是2,但我不确定。 任何人都可以帮助我? 谢谢。

C#和Excel文件

我需要创build一个可以读取/写入Excel文件的程序。 我应该使用OleDB还是使用Excel对象? 互相之间有什么优势,我可以在哪里阅读以开始实施?

带有oledb网格的多页导入“_xlnm#_FilterDatabase”作为图表名称

我有一个多张,我想导入excel 代码是相当简单和基本的,应该工作 但是在debugging器中,我的工作表名称保持为“_xlnm#_FilterDatabase” 并且是我的概率的根源 这里是代码的相关部分: string sheetName = ""; file = HostingEnvironment.MapPath("~/files/master1.xlsx"); xConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + file + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";"; using (OleDbConnection connection = new OleDbConnection(xConnStr)) { // get sheet names connection.Open(); DataTable sheets = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); // eeo10 (2nd tab: first sheet to be imported) sheetName = sheets.Rows[1]["TABLE_NAME"].ToString(); OleDbCommand command = […]

OleDB的Jet – Float读取Excel数据的问题

当我使用OleDbDataReader将表单读入一个DataTable时,浮点数字将失去精度。 我试图迫使OleDb作为string读取Excel数据,但是虽然数据现在包含在一个DataRow中,每个列定义为System.String它失去了精度(18.125 – > 18.124962832)。 任何想法如何避免这种行为?

在ADO.NET 4.0中处理多个连接到多个Excel文件的正确方法是什么?

我有一段使用VS 2005编写的代码,可以在运行.NET 2.0的计算机上正常工作,但是在运行.NET 4.0的计算机上发生严重的崩溃。 造成问题的hte代码部分是对DataAdapter的Fill()方法的调用。 代码如下所示: private void button_Click(object sender, EventArgs e) { DataTable dt1 = new DataTable(); string connectionString = … //connects to excelfile1.xls string selectCommand = "SELECT * FROM [Sheet1$]"; using(OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connectionString)) { adapter.SelectCommand.Connection.Open(); adapter.Fill(dt1); } DataTable dt2 = new DataTable(); connectionString = … //connects to excelfile2.xls using(OleDbDataAdapter adapter […]

使用oledb从excel文件读取 – 空string

我正在使用oledb从excel文件读取。 DataTable sheet1 = new DataTable(); string excelCS = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";" + "Extended Properties=\"Excel 12.0 Xml;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\""; using (OleDbConnection connection = new OleDbConnection(excelCS)) { connection.Open(); string selectSql = @"SELECT * FROM [Sheet1$]"; using (OleDbDataAdapter adapter = new OleDbDataAdapter(selectSql, connection)) { adapter.Fill(sheet1); } connection.Close(); } 但是文件的某些单元存在问题。 对于某些单元格,我得到一个空值而不是文本。 我试图把一些其他的文本放入这些单元格中,但它不起作用 – 我仍然得到空string。 但删除列后,再次插入我的应用程序得到正确的单元格的值。 重要的是,该问题不在列中的所有单元格。 这是单元格格式的问题吗? […]

C#,Excel,OleDB,插入语句不起作用

我还没有find有类似问题的人,所以我正在寻求帮助。 我写了一个简单的程序,应该从Excel电子表格(A)中读取数据,在做一些计算后将计算的数据插入到不同的电子表格(B)中。 我可以执行SELECT命令没有任何问题,但是当我用ExecuteNonQuery执行一个INSERT命令时,它返回1(意味着1行受到影响),但是没有任何东西插入到电子表格中。 我在连接string中打开没有Imex参数的文件。 我什至试图添加此参数,但得到一个例外。 插入语句是(示例): Insert into [Test$](F3,F4,F5,F6,F9,F10,F11,F15,F16,F17,F18,F19,F20,F21,F22,F23,F24,F25,F26) values('1','1','1','2010-07-12','PR','C','P','1','R','OR',null,null,null,null,null,null,null,null,null) 编辑 这个问题的来源似乎是电子表格本身。 任何想法为什么?

c#当string数据超过255个字符时,错误插入Excel

我正试图导出一些数据到Excel。 我正在使用OLEDB 12.连接string看起来像: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES;'" 我使用INSERT查询。 但是,只要目标列中的数据超过255个字符,就会发生exception。 Exception Details: System.Data.OleDb.OleDbException: The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data. 在SO上有一个类似的post: Excel无法插入超过255个字符? 但是它并没有进入c#, 我也提到http://support.microsoft.com/kb/213841并没有得到任何解决scheme。 请帮忙。

使用64位Excel连接到32位Oracle客户端

我正尝试使用VBA中的连接string将我的Excel连接到Oracle: dim cn As New ADODB.Connection cn.Open "Provider=OraOLEDB.Oracle;Data Source=source;User Id=userid;Password=pwd;" 我得到这个错误: Run-time error '3706': Provider cannot be found. It may not be properly installed. 相关参考文献: Microsoft ActiveX Data Objects 6.1 Library OraOLEDB 1.0 Type Library Excel是MS Office Professional Plus 2010 64位 Windows是7企业版,Service Pack 1,64位 Oracle客户端是11.2.0 32位(我认为) Oracle服务器是Oracle数据库11g企业版版本11.2.0.3.0 – 64位生产 现在…我已经search了networking,不知道问题是什么,但我最好的猜测是有一些与我使用的驱动程序的32位与64位冲突。 我试图了解在我公司的IT部门为我尝试安装东西之前,应该采取什么样的方式。 如果MS Office是Oracle客户端必须是64位? 或者我只需要64位Oracle数据访问组件? 我已经尝试了一堆不成功的连接string,包括使用MSDAORA而不是OraOLEDB.Oracle […]