我正在尝试从excel中读取工作表数据(尝试过oldedb和odbc)并发现有255个字符的限制。 我尝试使用其他线程
中建议的Range
对象
(SELECT * FROM [ref_MethodInput$A1:S362])
但仍然没有运气。所以除了使用互操作之外还有其他方法可以解决这个问题吗?注册表编辑也是不可取的,因为需要在所有客户端计算机中进行注册表编辑。
答案 0 :(得分:0)
由于问题出在Jet Provider上,为什么不尝试在ODBC连接下列出的Microsoft Excel驱动程序。
答案 1 :(得分:0)
以下代码为我工作。 从excel(.xls& .xlsx)文件导入数据(适用于超过255个字符的列值)。
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;
}
下载nuget包: 1)PCLStorage(版本:1.0.2) 2)ExcelDataReader-DevNet45(版本:1.0.0.2)