创建Excel文件并在保存时大小加倍

时间:2014-05-02 07:46:44

标签: c# asp.net-mvc excel epplus

我正在使用EPPlus来创建和保存Excel文件。

方法如下:

public static void CreateAnnuityExcelSheet(List<Calculation> cList, FormCollection form, int DTCyear, string path)
    {
        var StartValue = cList[0].StartValue;
        var radio = form["advanceOrArrears"];
        string fileName = cList[0].CalculationName;
        FileInfo info = new FileInfo(path);
        using (ExcelPackage package = new ExcelPackage(info))
        {
            ExcelWorksheet ws = package.Workbook.Worksheets.Add(fileName);
            //Styles for the sheet

            package.Save();
        }
    }

我也尝试过使用.SaveAs(info)但结果对我来说是一样的。

好吧,我现在将文件保存在C:\ ExcelFiles \下,让我们说它大约是6kb,但是当我在Excel中打开它并尝试关闭它时Excel想让我保存它。当我这样做时,大小增加一倍(~12kb)。

我尝试在notepad ++中打开未保存的文件和保存的文件,我可以看到文件中存在一些差异。

他们真的没有多大意义买在notepad ++中查看它们,但这是它的外观:

上图来自未保存的版本。保存的那个看起来几乎相同(不可读)只是更大。

我现在想知道是否有人能够发现问题?你以前遇到过同样的问题吗?

这对我来说并没有什么大麻烦,但如果文件是“应该”立即创建的话会很好。因为当我尝试上传和读取文件时,它必须是保存的版本或一切崩溃......

1 个答案:

答案 0 :(得分:1)

如果将文件保存在Excel中,则会自动添加许多样式和特定于Excel的内容。

您可以通过

验证
  • 在将文件打开到Excel目录(多个文件和文件夹)之前解压缩文件
  • 在Excel中打开文件并保存
  • 将新(较大)文件解压缩到另一个目录
  • 对两个解压缩文件进行目录比较。

您应该会看到Excel添加的其他样式。

更新:如果文件越来越大仍然存在问题,您可以尝试打开在Excel中创建的文件并添加内容,而不是创建新文档。