我正在开发一个应用程序来读取xlsx文件,进行一些验证并插入到数据库中.不幸的是,当我尝试读取标记为数字的列(带有EAN-13代码的fe)时,我得到了一个int的miniumum值.用户没有看到这个,因为Excel正确显示它.
如何让它以纯文本形式读取文件?我知道我可以使用OLEBD,但我还需要动态编辑文件,因此epplus ExcelPackage是最佳选择.
这是我使用的代码:
FileInfo file = new FileInfo(path);
MainExcel = new OfficeOpenXml.ExcelPackage(file);
{
var ws = MainExcel.Workbook.Worksheets.First();
DataTable tbl = new DataTable();
for (var rowNum = 1; rowNum <= ws.Dimension.End.Row; rowNum++) //currently loading all file
{
var wsRow = ws.Cells[rowNum, 1, rowNum, ws.Dimension.End.Column];
var row = tbl.NewRow();
foreach (var cell in wsRow)
{
row[cell.Start.Column - 1] = cell.Text;
}
tbl.Rows.Add(row);
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我枚举列的方式
foreach (var firstRowCell in ws.Cells[3, 1, 3, ws.Dimension.End.Column])
{
System.Type typeString = System.Type.GetType("System.String") ;
tbl.Columns.Add( firstRowCell.Text …Run Code Online (Sandbox Code Playgroud)