我有一些代码可以将所有工作表从一个excel文件复制到另一个excel文件中。此代码如下:
Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook source = ExcelApp.Workbooks.Add(missing);
Microsoft.Office.Interop.Excel.Workbook destination = ExcelApp.Workbooks.Add(missing);
string file = @"C:\SomeExcelFile.xlsx";
source = ExcelApp.Workbooks._Open
(file, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing
, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
foreach (Microsoft.Office.Interop.Excel.Worksheet s in source.Worksheets)
{
s.Copy(Type.Missing, destination.Worksheets[destination.Worksheets.Count]);
}
在大多数情况下,这可以按预期工作,但我想解决两个问题。首先,在我复制的一个excel工作簿中,有一个格式如下的列:
$#,##0.00;[Red]-$#,##0.00
通过我的代码运行此列时,此列将重新格式化为:
$#,##0.00_);[Red]($#,##0.00)
有没有办法可以保留原始文件的格式?
其次,我希望列的宽度与原始文件保持一致。这也可能吗?
此代码用于将多个Excel工作簿合并到一个文件中。
由于