如何向excel的首行插入一个新的行 已经得到一个excel文件,如图我想要在它的最上面插入新的一行或者两行,并要并列单元格,像这样子:谁做过啊?先谢谢了excel 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.cnblogs.com/over140/archive/2007/12/28/1018611.html 补个合并行列的//合并excelRangeParm.Merge(Missing.Value); public bool ExportExcel(DataGridViewX dtSource, string saveFileName) { DataTable dt = (DataTable)dtSource.DataSource; if (dt.Rows.Count == 0||dt==null) { return false; } else { Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks; Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);//创建sheet Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//写死,只操作sheet1 //添加列标题 for (int i = 0; i < dt.Columns.Count; i++) { worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnName; } //添加内容 for (int r = 0; r < dt.Rows.Count; r++) { for (int i = 0; i < dt.Columns.Count; i++) { worksheet.Cells[r + 2, i + 1] = dt.Rows[r][i]; } System.Windows.Forms.Application.DoEvents(); } worksheet.Columns.EntireColumn.AutoFit();//自适应列宽,很实用 Microsoft.Office.Interop.Excel.Range rg = worksheet.Range[worksheet.Cells[2, 2], worksheet.Cells[dt.Rows.Count + 1, 2]]; rg.NumberFormat = "00000000"; if (saveFileName != "") { try { workbook.Saved = true; workbook.SaveCopyAs(saveFileName); } catch (Exception ex) { throw new Exception(ex.Message); } } xlApp.Quit(); GC.Collect(); return true; } } 具体参考 C#开发的activeX如何去调用类库中的方法? C# 得到word页码 C#如何实现进程的自我保护 如何在安装项目当中添加卸载选项? DropDownList的SelectedItem问题??? 通过反射取ArrayList,急,在线等 帮我看看哪里错了,急求 。高分 Stream菜鸟问题....关于没有全路径? listbox的问题 C#中如何打包发布程序? C#利用反射实例化List<className>(未知类名的情况下) C#中,对方法返回多值的一些疑问
//合并
excelRangeParm.Merge(Missing.Value);
public bool ExportExcel(DataGridViewX dtSource, string saveFileName)
{
DataTable dt = (DataTable)dtSource.DataSource;
if (dt.Rows.Count == 0||dt==null)
{
return false;
}
else
{
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);//创建sheet
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//写死,只操作sheet1
//添加列标题
for (int i = 0; i < dt.Columns.Count; i++)
{
worksheet.Cells[1, i + 1] = dt.Columns[i].ColumnName;
}
//添加内容
for (int r = 0; r < dt.Rows.Count; r++)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
worksheet.Cells[r + 2, i + 1] = dt.Rows[r][i];
}
System.Windows.Forms.Application.DoEvents();
}
worksheet.Columns.EntireColumn.AutoFit();//自适应列宽,很实用
Microsoft.Office.Interop.Excel.Range rg = worksheet.Range[worksheet.Cells[2, 2], worksheet.Cells[dt.Rows.Count + 1, 2]];
rg.NumberFormat = "00000000";
if (saveFileName != "")
{
try
{
workbook.Saved = true;
workbook.SaveCopyAs(saveFileName);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
xlApp.Quit();
GC.Collect();
return true;
}
} 具体参考