您的位置:首页 > 其它

读取Excel模板,写入数据,并别输出另存为Excel文件

2013-12-30 11:37 525 查看
private void BtnExportExcelClick(object sender, EventArgs e)
{
var fromFileName = "D:/Excel/Book2.xls";
var toFileName = "D:/Excel/Book3.xls";

var saveFileDialog = new SaveFileDialog();

saveFileDialog.Title = "保存";
saveFileDialog.Filter = "Excel文档(*.xls)|*.xlsx";
saveFileDialog.RestoreDirectory = true;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
toFileName = saveFileDialog.FileName;
}

Microsoft.Office.Interop.Excel._Application appExcel = new ApplicationClass();

Microsoft.Office.Interop.Excel.Workbook workbook = appExcel.Workbooks.Open(fromFileName,
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 workbook = appExcel.Workbooks.Add(true);

Worksheet xlsheet = (Worksheet)workbook.Worksheets[1];

Range range = xlsheet.get_Range(appExcel.Cells[1, 1], appExcel.Cells[1, 1]);

range.MergeCells = true;
appExcel.ActiveCell.FormulaR1C1 = "这是Excel的标题";
appExcel.ActiveCell.Font.Size = 20;
appExcel.ActiveCell.Font.Bold = true;
appExcel.ActiveCell.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter;

//开始写入每列的标题
xlsheet.Cells[1,1] = "这是列的标题";

//开始写入每列的数据
for (int i = 1; i < 30; i++)
{
xlsheet.Cells[i + 2, 1] = "这是列A"+i;
xlsheet.Cells[i + 2, 2] = "这是列B" + i;
xlsheet.Cells[i + 2, 3] = "这是列C" + i;
xlsheet.Cells[i + 2, 4] = "这是列D" + i;
xlsheet.Cells[i + 2, 5] = "这是列E" + i;
xlsheet.Cells[i + 2, 6] = "这是列F" + i;
xlsheet.Cells[i + 2, 7] = "这是列G" + i;
xlsheet.Cells.ColumnWidth = 30;
}

workbook.Saved = true;
workbook.SaveCopyAs(toFileName);

workbook.Close();

appExcel.Quit();
GC.Collect();

MessageBox.Show("[XXXXXXX]报表导出成功!","乐家购物",MessageBoxButtons.OK,MessageBoxIcon.Information);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: