导出任意形式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);
    }
   
///
   
/// 导入EXCEL表
   
///

   
///
   
///
    public DataSet CreateDataSource(string strFileName, string Sqlstr)
    {
       
string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFileName + "; Extended Properties=Excel 8.0;";
        OleDbConnection olecon
= new OleDbConnection(strCon);
        OleDbDataAdapter myda
= new OleDbDataAdapter(Sqlstr, olecon);
        DataSet myds
= new DataSet();
        myda.Fill(myds);
       
return myds;
    }

posted @ 2010-04-01 17:26  三颗屎  阅读(283)  评论(0编辑  收藏  举报