Tag: exceldatareader

Sqlbulkcopy浮动转换错误(asp.net c#)

Iam试图插入大量的Excel到SQL sqlBulk.WriteToServer(dReader); 给出错误 来自数据源的Stringtypes的给定值不能转换为指定目标列的floattypes。 Iam使用下面的代码 System.Data.SqlClient.SqlConnection strConnection; strConnection = new System.Data.SqlClient.SqlConnection("Data Source=L06DPSGCD0001;Initial Catalog=ProductionEfficiency;User ID=sample;Password=sample"); string path = ("C:\\Users\\s3802616\\Desktop\\" + (FileUpload1.FileName)); System.Diagnostics.Debug.WriteLine("C:\\Users\\s3802616\\Desktop\\" + (FileUpload1.FileName)); string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=" + "\"" + "Excel 12.0;HDR=YES;" + "\""; //Create Connection to Excel work book OleDbConnection excelConnection = new OleDbConnection(excelConnectionString); //Create OleDbCommand to fetch […]

如何从Excel单元格中提取链接url

我有ac#webjob下载,然后读取Excel文件。 其中一列包含我想保存在数据库中的链接。 我目前正在使用ExcelDataReader将Excel文件转换为DataSet,然后遍历行来获取数据。 转换之后,此时所涉及的列只是包含链接文本的string。 从其他阅读中听起来像在Excel中,超链接存储在其他地方,并且在将Excel文件转换为DataSet时不保留该信息。 我没有设置使用ExcelDataReader,但希望find解决scheme来提取这些链接的URL,而无需支付一些第三方软件。 以下是我至今参考的简单代码: FileStream stream = File.Open(fileLocation, FileMode.Open, FileAccess.Read); IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); excelReader.IsFirstRowAsColumnNames = true; DataSet result = excelReader.AsDataSet(); int count = 0; foreach (DataRow row in result.Tables["WorkSheetName"].DataTable.Rows) { var item = new myObject(); item.Prop1 = long.Parse(row["Column3"].ToString()); item.Prop2 = row["Column7"].ToString(); //The link, currently only seeing link text this.myDbContext.myTable.Add(item); await this.myDbContext.SaveChangesAsync(); […]

当我下载它们并尝试在openfiledialog中打开它们时,无法读取XLS文件C#

所以我下载了一些excel文件,当我下载这个文件的时候, 这个文件出现了, 现在我觉得一切正常,应该可以正常工作。 所以这里的交易,如果我尝试打开这个文件在我的Visual Studio 2015 openfiledialog 我得到这个错误。 现在当我把excel保存为97-2003 xls文件的时候,它和createbinaryreader一起createbinaryreader 。 如果我把它保存为一个正常的excel格式的xlsx文件,它可以与createopenxmlreader一起createopenxmlreader 。 我怎样才能解决这个问题,所以我不需要去excel文件,并将其保存为excel-workmap(xls或xlsx)? PS:我把这个excel文件放入一个datagridview。

在C#中使用CreateOpenXmlReader读取openoffice的ods文件

我正在寻找一个库,它将读取所有types的Excel格式(例如:.xsl,.xlsx,.ods)我试了下面的代码来阅读电子表格。 try { string extension = Path.GetExtension(File1.PostedFile.FileName); switch (extension.ToLower()) { case ".xls": excelReader = ExcelReaderFactory.CreateBinaryReader(stream); break; case ".xlsx": excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); break; case ".ods": excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); break; } } catch (Exception ex) { } 它适用于.xsl和.xlsx文件,但不适用于openoffice .ods文件。 任何人都可以确认这是否支持openoffice或其他替代品,这将符合我的要求。

如何阅读选定的Excel列

使用http://exceldatareader.codeplex.com的ExcelDataReader和以下代码: Dim stream As FileStream = File.Open(filePath, FileMode.Open, FileAccess.Read) '1. Reading from a binary Excel file ('97-2003 format; *.xls) Dim excelReader As IExcelDataReader = ExcelReaderFactory.CreateBinaryReader(stream) '… '2. Reading from a OpenXml Excel file (2007 format; *.xlsx) Dim excelReader As IExcelDataReader = ExcelReaderFactory.CreateOpenXmlReader(stream) '… '3. DataSet – The result of each spreadsheet will be created in […]

使用ExcelDataReader上传.xlsx文件时出错

我正在研究asp.net MVC项目。 我使用ExcelDataReader组件来读取excel文件logging。 现在,当我发布我的项目到服务器上传一个.xlsxfile upload我得到下面提到的exception消息。 本地部署没有错误,但服务器。 访问path“\ Microsoft Corporation \ Internet Information Services \ 7.5.7600.16385”被拒绝。 和代码我得到的错误是: if (personsFile.FileExtension == ".xls") { Stream st = new MemoryStream(personsFile.FileArray); reader = ExcelReaderFactory.CreateBinaryReader(st); } else if (personsFile.FileExtension == ".xlsx") { Stream st = new MemoryStream(personsFile.FileArray); //exception occured on under line reader = ExcelReaderFactory.CreateOpenXmlReader(st); } 但是,当我上传一个.xls文件,我没有任何错误。 如何解决.xlsx扩展问题?

错误115types“Excel.IExcelDataReader”未定义

我有一个与Excel导出和导出的VB.NET应用程序。 我不太了解这个应用程序,因为我的ec-colleague没有太多的信息就把这个给我了。 现在,当我试图build立应用程序显示以下错误 Error 115 Type 'Excel.IExcelDataReader' is not defined. E:\CManager\CManager\\Win764\CManager\MyApp.vb 2376 28 ContributionManager 我试图得到它的DLL,但没有find任何。 任何人都可以帮助这个…

ExcelDataReader.AsDataSet不工作

我正在使用ExcelDataReader v.2.1。 库在我的C#项目中读取xls和xlsx文件。 这条路: FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read); IExcelDataReader excelReader; string extension = Path.GetExtension(filePath); if (extension == ".xls") { excelReader = ExcelReaderFactory.CreateBinaryReader(stream); } else if (extension == ".xlsx") { excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); } else { throw new NotSupportedException("Wrong file extension"); } return excelReader; 然后,我使用“AsDataSet”方法来获得一个填充的数据集: _dataSet = GetDataReader(_options.Filepath).AsDataSet(); 它大部分时间都能正常工作,但是对于一些XLSX文件,它只读取第一列。 我一直在看看Excel的excelReader实例,我看到它实际上获取了Excel的所有值,但是,当使用AsDataSet方法时,它只读取第一列。 你知道这里会发生什么事吗? 你认为这可能是一个“AsDataSet”方法的错误?

C#如何确定excel文件的版本

我正在使用Excel数据读取器,并且我注意到它与旧的Excel 5.0 / 95工作簿文件不兼容。 有没有一种方法,我可以得到.xls文件的版本之前,我把它发送到Excel数据读取器,以防止发送早期版本的Excel文件? 这是我现在使用的。 if (extension == ".XLS") { IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream); excelReader.IsFirstRowAsColumnNames = true; result = excelReader.AsDataSet(); } else { IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); excelReader.IsFirstRowAsColumnNames = true; result = excelReader.AsDataSet(); }

ExcelDataReader数据types“date”被转换

下面的代码从Excel文件中读取数据: string path = "testtable.xls"; FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read); IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream); excelReader.IsFirstRowAsColumnNames = true; DataSet result = excelReader.AsDataSet(); foreach (DataTable Table in result.Tables) { for (int i = 0; i < Table.Rows.Count; i++) { for (int j = 0; j < Table.Columns.Count; j++) { dataGrid1.ItemsSource = new DataView(Table); } } } […]