首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 导出Excel

2013-10-17 
C# 导出Excel 求助这个是使用csv 导出的表格,表格如下:我想得到这样的这样的格式:如下:简单来说就是想合并

C# 导出Excel 求助
这个是使用csv 导出的表格,表格如下:
C# 导出Excel
我想得到这样的这样的格式:如下:
C# 导出Excel

简单来说就是想合并某些列 但是csv 格式好像不行,但是又不想使用excel.dll 生成写复杂的语句,有什么方法吗?
Excel?csv?合并列 excel? csv? 合并列
[解决办法]
你输出一个<table>就保存到.xls可以了,html的table懂得合并行或列吧(rowspan和colspan),这样做简单,不用引用什么dll
[解决办法]
以前导出过,这个方法里获取了sheet对象,里面应该有所有的跨行跨列的API,你可以找找


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;  
         }  
     }  


[解决办法]
http://blog.csdn.net/happy09li/article/details/7431967

热点排行