当我发布我的项目并运行它时on服务器,它工作了。 EPPlus 找到了所有 4 个工作表,迭代它们,并将我的数据上传到 SQL。
但是当我通过我的浏览器或我同事的浏览器运行它时,它显示 0 个工作表。
知道为什么会发生这种情况吗?此时的代码并不多,但这是该部分:
using (ExcelPackage package = new ExcelPackage(new FileInfo(strFile)))
{
if (package.Workbook.Worksheets.Count <= 0)
strError = "Your Excel file does not contain any work sheets";
else
{
foreach (ExcelWorksheet worksheet in package.Workbook.Worksheets)
{
EPPlus 可以将文件加载到内存中。你只是没有这样做。我认为如果您这样做,从文件系统读取它就不太可能遇到麻烦。您可以将上传的文件转换为字节数组,而无需先将其作为文件,但在我的示例中,我打开一个现有文件。如果您提供如何上传文件的代码,我可以更新我的示例。
byte[] file = File.ReadAllBytes(@"C:\file.xlsx");
using (MemoryStream ms = new MemoryStream(file))
using (ExcelPackage package = new ExcelPackage(ms))
{
if (package.Workbook.Worksheets.Count == 0)
strError = "Your Excel file does not contain any work sheets";
else
{
foreach (ExcelWorksheet worksheet in package.Workbook.Worksheets)
{
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)