C# 从excel读取超过255个字符

C# 从excel读取超过255个字符,c#,excel,C#,Excel,我正在尝试从excel中读取工作表数据(尝试了oldedb和odbc),发现有255个字符的限制。 我尝试使用其他线程中建议的Range对象 (SELECT * FROM [ref_MethodInput$A1:S362]) 但还是没有运气。那么,除了使用互操作,还有其他方法可以克服这个问题吗?注册表编辑也是不可取的,因为在所有客户端计算机中都需要注册表编辑。既然问题出在Jet提供程序上,为什么不试试ODBC连接下列出的Microsoft Excel驱动程序呢 下面的代码对我来说很有用。 从

我正在尝试从excel中读取工作表数据(尝试了oldedb和odbc),发现有255个字符的限制。 我尝试使用其他线程中建议的
Range
对象

(SELECT * FROM [ref_MethodInput$A1:S362]) 

但还是没有运气。那么,除了使用互操作,还有其他方法可以克服这个问题吗?注册表编辑也是不可取的,因为在所有客户端计算机中都需要注册表编辑。

既然问题出在Jet提供程序上,为什么不试试ODBC连接下列出的Microsoft Excel驱动程序呢

下面的代码对我来说很有用。 从excel(.xls和.xlsx)文件导入数据(适用于超过255个字符的列值)

下载nuget软件包: 1) PCLStorage(版本:1.0.2) 2) ExcelDataReader-DevNet45(版本:1.0.0.2)


我是从我的C#应用程序中执行此操作的。你能提供一个关于我如何做的链接/例子吗?谢谢你的链接。我从那个里修改了连接字符串,但还是失败了。长字符串位于101行OleDbConnection excelcon=new-OleDbConnection(@“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=“+filename+”;Extended Properties='Excel 12.0;HDR=YES;IMEX=1;MAXSCANROWS=200';);
using Excel;

        try
        {
            FileStream stream = File.Open(strFilePath, FileMode.Open, FileAccess.Read);
            IExcelDataReader excelReader = null;
            if (extension.Trim() == ".xls")
            {
                excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
            }
            else if (extension.Trim() == ".xlsx")
            {
                excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
            }
            excelReader.IsFirstRowAsColumnNames = true;
            DataSet result = excelReader.AsDataSet();

            excelReader.Close();
        }
        catch (Exception err)
        {
            mResult.Message = err.Message;
        }