把1.xls和2.xls替换为1.htm和2.htm也是可以的,等于能把2个htm文件合并到excel中
/// <summary>
/// 合并两个excel到一个excel
/// </summary>
protected void HeBing()
{
Excel.Application app = new Excel.Application(); Excel.Workbooks ws = app.Workbooks;
Excel.Workbook workbook = ws.Add(Excel.XlWBATemplate.xlWBATWorksheet);
//创建一个新的workbook
//Excel.Workbook workbook = ws.Add(Server.MapPath("~/Work/Excel/Template/gkzb.xls"));
//从现有文件加载
//打开要合并的Excel
Excel.Workbook wb1 = app.Workbooks.Open(Server.MapPath("~/1.xls"), Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
Excel.Workbook wb2 = app.Workbooks.Open(Server.MapPath("~/2.xls"), Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
//拿出要合并的worksheet
Excel.Worksheet wsheet1 = (Excel.Worksheet)wb1.Worksheets.get_Item(1);
wsheet1.Name = "test111";
Excel.Worksheet wsheet2 = (Excel.Worksheet)wb2.Worksheets.get_Item(1);
wsheet2.Name = "test222";
//要并入的Excel文件的worksheet
//Excel.Worksheet wsheet = (Excel.Worksheet)workbook.Worksheets.get_Item(1);
//将sheet2插入到sheet1后面---------------------------------------
wsheet2.Copy(Type.Missing, wsheet1);
//复制要合并的worksheet到Excel本身的worksheet后
//wsheet1.Copy(Type.Missing, wsheet);
//wsheet2.Copy(Type.Missing, wsheet);
//保存合并后的文件---------------------------
string savePath = "~/123.xls";
wb1.SaveAs(Server.MapPath(savePath), Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//workbook.SaveAs(Server.MapPath(savePath), Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
NAR(workbook);
wb1.Close(false, Type.Missing, Type.Missing);
wb2.Close(false, Type.Missing, Type.Missing);
app.Quit();
NAR(app);
}
/// <summary>
/// 释放资源
/// </summary>
/// <param name="obj"></param>
public void NAR(object obj)
{
if (obj is Excel.Workbook)
{
((Excel.Workbook)obj).Close(false, Type.Missing, Type.Missing);
}
else if (obj is Excel.Application)
{
}
}