C#导出excel

loveqise 2016-08-16 11:18:26
用button链接导出数据到excel
有大神有能指导代码怎么写吗
...全文
162 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
橙色阳光 2016-08-16
  • 打赏
  • 举报
回复
简单格式就自己拼接 复杂的用三方控件
da-xiang 2016-08-16
  • 打赏
  • 举报
回复
public void ReportToExcel(ListView list, List<int> ColumnWidth, string ReportTitleName)  
        {  
            //获取用户选择的excel文件名称  
            string path;  
            SaveFileDialog savefile = new SaveFileDialog();  
            savefile.Filter = "Excel files(*.xls)|*.xls";  
            if (savefile.ShowDialog() == DialogResult.OK)  
            {  
                //获取保存路径  
                path = savefile.FileName;  
                Workbook wb = new Workbook();  
                Worksheet ws = wb.Worksheets[0];  
                Cells cell = ws.Cells;  
                //定义并获取导出的数据源  
                string[,] _ReportDt = new string[list.Items.Count, list.Columns.Count];  
                for (int i = 0; i < list.Items.Count; i++)  
                {  
                    for (int j = 0; j < list.Columns.Count; j++)  
                    {  
                        _ReportDt[i, j] = list.Items[i].SubItems[j].Text.ToString();  
                    }  
                }  
                //合并第一行单元格  
                Range range = cell.CreateRange(0, 0, 1, list.Columns.Count);  
                range.Merge();  
                cell["A1"].PutValue(ReportTitleName); //标题  
  
                //设置行高  
                cell.SetRowHeight(0, 20);  
  
                //设置字体样式  
                Style style1 = wb.Styles[wb.Styles.Add()];  
                style1.HorizontalAlignment = TextAlignmentType.Center;//文字居中  
                style1.Font.Name = "宋体";  
                style1.Font.IsBold = true;//设置粗体  
                style1.Font.Size = 12;//设置字体大小  
  
                Style style2 = wb.Styles[wb.Styles.Add()];  
                style2.HorizontalAlignment = TextAlignmentType.Center;  
                style2.Font.Size = 10;  
  
                //给单元格关联样式  
                cell["A1"].SetStyle(style1); //报表名字 样式  
  
                //设置Execl列名  
                for (int i = 0; i < list.Columns.Count; i++)  
                {  
                    cell[1, i].PutValue(list.Columns[i].Text);  
                    cell[1, i].SetStyle(style2);  
                }  
  
                //设置单元格内容  
                int posStart = 2;  
                for (int i = 0; i < list.Items.Count; i++)  
                {  
                    for (int j = 0; j < list.Columns.Count; j++)  
                    {  
                        cell[i + posStart, j].PutValue(_ReportDt[i, j].ToString());  
                        cell[i + posStart, j].SetStyle(style2);  
                    }  
                }  
  
                //设置列宽  
                for (int i = 0; i < list.Columns.Count; i++)  
                {  
                    cell.SetColumnWidth(i, Convert.ToDouble(ColumnWidth[i].ToString()));  
                }  
                //保存excel表格  
                wb.Save(path);  
            }  
        }  
可参照我之前写的程序http://download.csdn.net/detail/kevin_iot/9377861
Benjay77 2016-08-16
  • 打赏
  • 举报
回复
搜一下NPOI控件 demo有很多
Imcx 2016-08-16
  • 打赏
  • 举报
回复
如果是导出“真的”Excel的话就去网上搜搜第三方插件吧,自己写起来比较复杂, 否则你可以用字符串和制表符输出一个.xls后缀的文件就可以了

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧