Tag: oledbdatareader

如果列中的前一个单元格为空,则DataReader不会在Excel单元格中看到数据

使用OleDbDataReader读取.xls文件时出现奇怪的问题。 基本上,如果列中以前的单元格是空的,它不会在单元格中看到数据。 如果我将数据移动到Excel工作表的顶部,那么一切正常。 我不确定,但我认为这与数据之前的空单元的数量有关。 任何帮助或build议将不胜感激。

OleDbDataReader – 没有给出一个或多个必需参数的值

我试图使用BulkInsert将Excel电子表格中的数据添加到SQL Server中的表中。 在线帮助一直很好,但是我得到一个我不明白的错误。 这里是我用来获取和保存目标Excel文件(使用FileUpload控件)的代码: protected void btnGetFile_click(object sender, EventArgs e) { if (this.FileUpload1.HasFile) { this.FileUpload1.SaveAs(Server.MapPath("~/temp/") + this.FileUpload1.FileName); ImportFromExcel(Server.MapPath("~/temp/") + this.FileUpload1.FileName); } } 这是我用来读取文件并执行批量插入的代码: public void ImportFromExcel(string excelFilePath) { // Get connection string to database from web.config string strConnDB = ConfigurationManager.ConnectionStrings["strConnectToDB"].ConnectionString; // Connection string for selected Excel file string strConnExcel = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFilePath + […]

OleDbDataReader,C# – OleDbDataReader可以从excel文件中检索的行数的最大限制是多less?

我正在使用OleDbDataReader(C#)从excel文件读取93081行,但似乎并没有读取所有的行。 它只从93081行读取27545。 当我读取只有15941行的另一个文件时,它不会造成任何问题并检索所有行。 即使数据types在整个excel文件中都是相同的,我已经在连接string中包含了IMEX = 1,正如在线许多人所提到的那样。 OleDbDataReader可以从Excel文件读取的行数的最大限制是多less? 编辑 :添加代码 var loc = "C:\\Users\\random\\Desktop\\Test.xlsx"; var myConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=\""+ loc + "\";Extended Properties=\"Excel 8.0;IMEX=1\";"); var myCommand = new OleDbCommand(); myConnection.Open(); myCommand.Connection = myConnection; var sql = "Select * from [Sheet2$]"; myCommand.CommandText = sql; var dataReader = myCommand.ExecuteReader(); var insert = ""; var result = ""; […]

在一个连接上多个OleDbDataReader:确定它正在这种情况下工作

我在一个OleDbConnection网上search了多个OleDbDataReader,但所有的答案是否定的,但是,这个代码工作没有错误。 这是为什么? Dim DATA_BASE_Name As String = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) & "\TABLES.XLS" Dim ConnectionStringBuilder As New System.Data.OleDb.OleDbConnectionStringBuilder ConnectionStringBuilder("Provider") = "Microsoft.Jet.OLEDB.4.0" ConnectionStringBuilder("Data Source") = DATA_BASE_Name ConnectionStringBuilder("Mode") = "ReadWrite" ConnectionStringBuilder("Extended Properties") = "Excel 8.0;HDR=No" Dim XLS_DATA_BASE As OleDbConnection = New OleDbConnection(ConnectionStringBuilder.ConnectionString) XLS_DATA_BASE.Open() Dim Command As OleDbCommand = New OleDbCommand Dim Command2 As OleDbCommand = New OleDbCommand Command.Connection = XLS_DATA_BASE […]

OleDbDataReader在单元格中看不到数据(.xlsx)

阅读xlsx文件(我使用OleDbDataReader)有一个非常奇怪的问题。 我有一个列,其中包含以下数据: 50595855 59528522 C_213154 23141411 问题是,当我读这个专栏时,读者告诉我第三行是空的。 Excel中的列格式设置为“常规”。 但是当我将格式设置为“文本”时,一切正常,阅读器看到该行中的数据。 所以只是为了实验的缘故,我在前两行用字母作为前缀,使它看起来像下面这样: C_50595855 C_59528522 C_213154 23141411 即使列格式设置为“常规”,读者也可以毫无问题地读取所有内容。 所以Excel显然在加载之前会分析列中的数据,当列的第一个单元格看起来像数字而其余的一些是文本时,Excel会感到困惑。 这对我来说真的很奇怪,因为在单元中有数据或者没有数据。 任何人有任何想法,为什么这是发生? 任何帮助都感激不尽。 问候,伊戈尔

Oledb数据读取器读取Excel文档中已删除的行

我正在使用OLEDB连接来读取一个Excel文档,该文档有多达100行的数据。 但是当我删除5行然后尝试再次阅读文档,该OLEDB阅读器读取100行不95.然后引发exception。 我想知道为什么它读取多达100行,因为只有95行是存在的。

有没有办法强制Microsoft.Jet.OLEDB获取date在Excel中的MM / DD / YYYY格式的列?

从Excel表格读取DateColumns时遇到问题。 有时候人们使用不同的date格式,这会带来一个问题。 让我们说,当我期望07/26/2010从Excel列我得到26-Jul-2010因为用户已更改其date格式。 我使用Microsoft.Jet.OLEDB将xls表读入DataTable 。 我可以以某种方式强制OleDb阅读器无论在XLS上设置DateFormat,将所有date转换为MM / DD / YYYY格式? 我使用这段代码来读取Excel文件: string strConn; strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + uploadedFileInfo.FullName + ";" + @"Extended Properties=""Excel 8.0;HDR=NO;"""; using (OleDbConnection connToExcel = new OleDbConnection(strConn)) { //You must use the $ after the object you reference in the spreadsheet connToExcel.Open(); string firstSheetName = ExcelUploadedFileReaderBuilder .GetFirstExcelSheetName(connToExcel); OleDbDataAdapter myCommand […]