超級唬爛的方法,暴力複製"only value"
string xlsx = "c:\temp\a.xlsx";
using (ExcelPackage ep = new ExcelPackage(new FileInfo(xlsx)))
{
ExcelWorksheet sh =
ep.Workbook.Worksheets.First();
List<List<object>> alldata = new List<List<object>>();
for (int r = 1; r <= sh.Dimension.Rows; r++)
{
var ritem = new List<object>();
for (int c = 1; c <= sh.Dimension.Columns; c++)
{
ritem.Add(sh.Cells[r, c].Value);
}
alldata.Add(ritem);
}
ExcelWorksheet shnew =
ep.Workbook.Worksheets.Add(sh.Name+"temp");
int R = 1;
foreach (var row in alldata)
{
int c = 1;
foreach(var cell in row)
{
shnew.Cells[R, c].Value = cell;
c++;
}
R++;
}
ep.Save();
}
方法一 :
換個角度思考 : 刪掉舊的,產生新的
請參閱 : 以程式設計方式從活頁簿中刪除工作表
請參閱 : 以程式設計方式在活頁簿中加入新的工作表
方法二 :
請參閱 : EXCEL VBA:儲存格的格式設定
關鍵字 : 儲存格的資料格式
Selection.NumberFormatLocal = "G/通用格式"