Tag: oledb

结果中省略了Excel中的第一项(DataSet,OleDB)

[Sample.xlsx] Column 0, Row 0 = "ItemA" Column 0, Row 1 = "ItemB" Column 0, Row 2 = "ItemC" Column 0, Row 3 = "ItemD" [应用] DataSet dsData = new DataSet(); string strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Sample.xlsx;Extended Properties='Excel 12.0;'"; OleDbDataAdapter daGetExcel = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn); daGetExcel.Fill(dsData); foreach (DataRow row in dsData.Tables[0].Rows) { lbExcelData.Items.Add(row[0].ToString()); […]

混淆错误E_UNEXPECTED(0x8000FFFF)

没有可用的错误消息,结果代码:E_UNEXPECTED(0x8000FFFF)。 我无法通过谷歌find任何解决scheme。 在parsingexcel文件时遇到这个问题。 有谁知道为什么这甚至发生? 如果它允许我从错误中恢复,那将是好事,但它甚至会经历try catch和finally子句,并使我的程序无用! 以下是我昨天提出的更详细的问题: OleDb对象无效或不再设置

我应该通过OleDb Jet4.0读取一个excel文件并保存到数据集?

我必须读取一个excel文件并将其放入数据集。 我应该通过OleDbDataAdapter读取excel文件内容,然后填入数据集? 我尝试,但表面。 它表示当数据适配器正在执行Fill方法时,应用程序无法识别数据库格式。 码: String queryAll = "SELECT * FROM [Sheet1$]"; String xlsPath = Directory.GetCurrentDirectory() + "\\paid.xls"; String strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + xlsPath; try { m_dbDA = new OleDbDataAdapter(queryAll, strConn); DataSet dsPaidXls = new DataSet(); m_dbDA.Fill(dsPaidXls); //exception here } catch (System.Exception ex) { MessageBox.Show(ex.Message); } 这是否意味着无法直接读取Excel数据并将其放入新的数据集? 而唯一的办法是读取excel数据逐个单元格,并插入一个新的数据集与数据表? 提前致谢。 ======================================== 解决 ======================================== String queryAll […]

将Excel工作表加载到DataTable中,但每个单元格只导入前256个字符,

我有一个Excel表格,我想用OleDb加载到数据表中。 该工作表包含多达1000个字符的多行文本列。 但是,使用下面的代码,导入后,每个单元格的DataTable中只有256个字符。 这是提供者的限制还是可以告诉它阅读整个列? var connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\file.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"";"; var sheetName = "Sheet1"; using (var con = new OleDbConnection(connectionString)) { con.Open(); var table = new DataTable(sheetName); var query = "SELECT * FROM [" + sheetName + "]"; OleDbDataAdapter adapter = new OleDbDataAdapter(query, con); adapter.Fill(table); return table; }

通过C#写入Excel

这可能是一个非常天真的问题。 我想写入一个excel文件,每次插入的数据应该发生在一个新的行。 这是我必须做的细节: dynamic创buildExcel并根据当前date命名。 添加头像“实际”,“预期”和结果。 在上面的列中插入date。 我有一个validation某些领域的小代码,所以我想写一个偏离预期行为的领域。 所以每当我的代码发现错误,它应该写入该Excel中运行。

Excel / ADO / VBA:计数返回不正确的结果

我有以下代码的macros: sSQL = "select [Folio Type], [Folio ID], [Departure Date]," & _ " Sum([Folio Total]), Count([Folio ID])" & _ " from [Individual Folios$B2:O150000]" & _ " group by [Folio Type], [Departure Date], [Folio ID], [Folio Total]" & _ " having Sum([Folio Total]) <> 0" 上面的代码给了我每个[Folio ID]不正确的计数1。 无论[Departure Date]如何,我都希望得到给定[Folio ID]的总数。 当我删除一些领域,我得到不同的结果 – 下面的代码似乎正常工作: sSQL = "select […]

c#Oledb在foreach循环中添加参数列表

我写了一个用OleDb创buildexcel文件的应用程序,问题是当程序运行一个foreach循环时,它总是在行中写入相同的数据,而不是循环中对象的不同值。 代码是: foreach(var user in userList) { cmd.CommandText = @"INSERT INTO [User](Id , Name , Code, Username, Location, CompanyCode, MyDate, Email, MyNote) VALUES(@Id, @Name, @Code, @Username, @Location)"; cmd.Parameters.AddRange(new OleDbParameter[] { new OleDbParameter{ ParameterName = "@Id", Value = user.ID}, new OleDbParameter{ ParameterName = "@Name", Value = user.NAME ?? string.Empty}, new OleDbParameter{ ParameterName = "@Code", Value = […]

这个查询有什么问题吗?

INSERT INTO tblExcel (ename, position, phone, email) VALUES ('Burton, Andrew', 'Web Developer / Network Assistant', '876-9259', 'aburton@wccs.edu') 我有一个访问表,有五个字段:id,ename,位置,电话和电子邮件…每个是50个字符的纯文本字段,保存位置是255和id这是一个自动增量字段。 我正在使用VB.NET从Excel表中读取数据,该数据被推送到用于填写该查询的简单类中。 我对另外两个表做了同样的事情,他们的数据是从DB2表和MySQL表中抽取的。 另外两个工作,但这个简单的INSERT循环保持失败,所以我不认为这是我的“InsertNoExe”函数处理所有的OleDb的东西。 那么,呃,这个查询,字段标题等等是不是伪造的? 如果有人想看,我可以发表其他一些代码。 编辑:修正。 我不确定广泛的图像是否被算作堆栈溢出错误,这就是我为什么离开它的原因。 编辑2:我很密集。 我使用try … catch来查看伪造查询,甚至不检查ex.messsage。 嘎。 INSERT INTO tblExcel (ename, position, phone, email) VALUES ('Burton, Andrew', 'Web Developer / Network Assistant', '876-9259', 'aburton@wccs.edu') at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) […]

SQL OleDBCommandselectExcel列

我使用OleDBCommand来select我有一个Excel表中的一些数据。 我有一列有数据列表(J列),之后的每一列(列K – AG)有1或0取决于关系。 所以它基本上是用1或0绘制的graphics。我想使用SQL命令来selectJ列中的每一个条目,其中在我select的列中绘制了1。 例如,说我想看J列到K的关系。 然后,我想从J中的所有数据J和K有一个1.我不确定如何在SQL中指定列。 我目前有: OleDbCommand command = new OleDbCommand("select * from [Master$J0:J20] , connection); 之后我需要一个WHERE子句来指定,其中K0:K20 ='1'对不对? 或类似的东西。 我无法得到它。

C#VS2010错误:无法find可安装的ISAM

我试图使用OleDb连接来填充Excel数据的数据表,但是我收到以下错误:“无法find可安装的ISAM”。 任何帮助将非常感激。 我已经尝试过来自其他类似错误的build议无济于事。 string cnStr = @"Provider=Microsoft.ACE.OLEDB.12.0;'C:\Users\Nick\Documents\Visual Studio 2010\Projects\ExcelTest1\ExcelTest1\CapitalPlan.xlsx';Extended Properties=" + "\"Excel 12.0 Xml;HDR=YES;IMEX=1\""; DataTable dt = new DataTable(); `string sql = "Select * From [Sheet1$]";` `using (OleDbConnection cn = new OleDbConnection(cnStr)) { using (OleDbDataAdapter adapter = new OleDbDataAdapter(sql, cn)) { adapter.Fill(dt); } }`