导出任意形式Excel(共享心得)

导出任意形式Excel(共享心得)

 

///
   
/// 生成EXCEL文件
   
/// _til是表格的标题,_row是表格的行数,_col是表格的列数,_dt是数据表,_filename是保存的EXCEL表的名称
   
///
    public void SaveToExcel( string _til, int _row, int _col, DataTable _dt, string _filename)
    {
        Microsoft.Office.Interop.Owc11.SpreadsheetClass xlsheet
= new Microsoft.Office.Interop.Owc11.SpreadsheetClass();
       
// 合并单元格
        xlsheet.get_Range(xlsheet.Cells[ 1 , 1 ], xlsheet.Cells[ 1 , _col]).set_MergeCells( true );
       
// xlsheet.get_Range(xlsheet.Cells[2, 1], xlsheet.Cells[3, 2]).set_MergeCells(true);
        xlsheet.ActiveSheet.Cells[ 1 , 1 ] = _til;
       
// 字体加粗
        xlsheet.get_Range(xlsheet.Cells[ 1 , 1 ], xlsheet.Cells[ 1 , _col]).Font.set_Bold( true );
       
// 单元格文本水平居中对齐
        xlsheet.get_Range(xlsheet.Cells[ 1 , 1 ], xlsheet.Cells[_row + 2 , _col]).set_HorizontalAlignment(Microsoft.Office.Interop.Owc11.XlHAlign.xlHAlignCenter);
       
// 设置字体大小
        xlsheet.get_Range(xlsheet.Cells[ 1 , 1 ], xlsheet.Cells[ 1 , _col]).Font.set_Size( 14 );
       
// 设置列宽
       
// xlsheet.get_Range(xlsheet.Cells[1, 3], xlsheet.Cells[1, 3]).set_ColumnWidth(50);

       
// 画边框线
        xlsheet.get_Range(xlsheet.Cells[ 1 , 1 ], xlsheet.Cells[_row + 2 , _col]).Borders.set_LineStyle(Microsoft.Office.Interop.Owc11.XlLineStyle.xlContinuous);

       
// 定义一个2维数组用来存储DATATABLE里的数据
        object [,] dataArray = new object [_row, _col];
       
// 添加列名
        for ( int k = 0 ; k < _dt.Columns.Count; k ++ )
        {
            xlsheet.ActiveSheet.Cells[
2 , k + 1 ] = _dt.Columns[k].Caption.ToString();
        }
       
// 把DATATABLE里的数据导到2维数组中
        for ( int i = 0 ; i < _row; i ++ )
        {
           
for ( int j = 0 ; j < _col; j ++ )
            {
                dataArray[i, j]
= _dt.Rows[i][j];
            }
        }
       
// 把2维数组中的数据导到EXCEL中
        xlsheet.get_Range( " A3 " , xlsheet.Cells[_row + 2 , _col]).Value2 = dataArray;
        xlsheet.Export(_filename, Microsoft.Office.Interop.Owc11.SheetExportActionEnum.ssExportActionNone, Microsoft.Office.Interop.Owc11.SheetExportFormat.ssExportXMLSpreadsheet);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值