0

嗨,过去 2 天一直在努力解决这个问题,似乎无法弄清楚问题是什么,我已经看到了其他相关的帖子,但没有一个与我实现代码的方式直接相关,我不是使用 Stream-reader/Writer 我只是将文件复制到指定的文件夹,我在阅读文件后尝试关闭文件阅读器,但这也没有帮助,我没有想法,谁能指导我代码或建议另一种有效的方法来实现这一点。该文件绝不会在其他位置打开。

public ActionResult Upload(HttpPostedFileBase file)
{
    List<CleanSupplierClaim> supplierClaimsData = new List<CleanSupplierClaim>();

    try
    {
        if (file.ContentLength > 0)
        {
            if (file.FileName.EndsWith("xls") || file.FileName.EndsWith("xlsx")) ;

            string path = AppDomain.CurrentDomain.BaseDirectory 
                            + "upload\\" + file.FileName;

            if (System.IO.File.Exists(path))
            {
                System.IO.File.Delete(path);
            }

            file.SaveAs(path);

            Excel.Application application = new Excel.Application();
            Excel.Workbook workbook = application.Workbooks.Open(path);
            Excel.Worksheet worksheet = workbook.ActiveSheet;
            Excel.Range range = worksheet.UsedRange;
4

2 回答 2

0

您正在打开一个 Excel 实例,但您永远不会关闭它。这不是自动完成的!您需要显式关闭 Excel 实例。否则,该过程将在后台徘徊,您的文件将被锁定。

于 2016-02-24T08:26:52.590 回答
-4

这对我有用

MailMessage Mail= new MailMessage();
Mail.Attachments.Add(new Attachment(filePath, "application/vnd.ms-excel"));
Mail.Attachments.Dispose();
于 2018-01-31T07:38:36.877 回答