我正在尝试使用 EPPlus
导出Excel文件 if (FileUpload1.HasFile && Path.GetExtension(FileUpload1.FileName) == ".xlsx")
{
bo.ExcelFile = txtFileName.Text;
bo.ExcelFileBranch = txtBranchName.Text;
bo.ExcelFileFromDate = txtValidFrom.Text;
bo.ExcelFileToDate = txtValidTo.Text;
using (var excel = new ExcelPackage(FileUpload1.PostedFile.InputStream))
{
var tbl = new DataTable();
var ws = excel.Workbook.Worksheets.First();
var hasHeader = false; // adjust accordingly
// add DataColumns to DataTable
foreach (var firstRowCell in ws.Cells[1, 1, 1, ws.Dimension.End.Column])
tbl.Columns.Add(hasHeader ? String.Format("Column {0}", firstRowCell.Start.Column)
: firstRowCell.Text);
// add DataRows to DataTable
int startRow = hasHeader ? 1 : 2;
for (int rowNum = startRow; rowNum <= ws.Dimension.End.Row; rowNum++)
{
var wsRow = ws.Cells[rowNum, 1, rowNum, ws.Dimension.End.Column];
DataRow row = tbl.NewRow();
foreach (var cell in wsRow)
row[cell.Start.Column - 1] = cell.Text;
tbl.Rows.Add(row);
}
但我收到以下错误:
(HRESULT异常:0x8003001D(STG_E_WRITEFAULT))“ - 写入操作期间发生磁盘错误
答案 0 :(得分:0)
不确定但是尝试使用空密码读取excel文件:
new ExcelPackage(FileUpload1.PostedFile.InputStream, ""))
答案 1 :(得分:0)
这可能与几个问题有关。这里提出了几种不同的解决方案: