C# Excel:复制的 sheet 比原来的大 50 倍
C# Excel: The copied sheet is 50x larger than the original one
我用C#复制粘贴了Excel的一个作品sheet。 (我为此使用了 Microsoft.Office.Interop.Excel)
这是代码:
Excel.Application app = new Excel.Application();
Excel.Workbook wb = app.Workbooks.Open(path);
Worksheet ws = wb.Worksheets[4];
Range us = ws.UsedRange;
us.Copy();
Worksheet ws2 = wb.Worksheets.Add();
ws2.Paste();
wb.SaveAs(Filename: Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\" + copyName + ".xlsx");
wb.Close();
并且当我打开 xlsx 文件作为 zip 时,复制的 sheet 比我从中复制的大 50 倍。
这是一张图片:(sheet1是复制的sheet,sheet2是原图sheet)
有没有办法在不使 sheet 变大的情况下进行复制和粘贴?
(我需要粘贴300次。我粘贴sheet 300次后,文件大约有500MB!而且我什至无法打开文件,因为它太大了。)
我找到原因了。我需要复制整个工作表,而不是使用的范围。
我用C#复制粘贴了Excel的一个作品sheet。 (我为此使用了 Microsoft.Office.Interop.Excel)
这是代码:
Excel.Application app = new Excel.Application();
Excel.Workbook wb = app.Workbooks.Open(path);
Worksheet ws = wb.Worksheets[4];
Range us = ws.UsedRange;
us.Copy();
Worksheet ws2 = wb.Worksheets.Add();
ws2.Paste();
wb.SaveAs(Filename: Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\" + copyName + ".xlsx");
wb.Close();
并且当我打开 xlsx 文件作为 zip 时,复制的 sheet 比我从中复制的大 50 倍。
这是一张图片:(sheet1是复制的sheet,sheet2是原图sheet)
有没有办法在不使 sheet 变大的情况下进行复制和粘贴?
(我需要粘贴300次。我粘贴sheet 300次后,文件大约有500MB!而且我什至无法打开文件,因为它太大了。)
我找到原因了。我需要复制整个工作表,而不是使用的范围。