求段代码!从datagridview 导出Excel的代码,要求能保留背景色和列宽....

莫名其妙的人参果 2017-11-16 08:38:40
现在有一段代码能快速到Excel ,也是网上找的,然后没有背景色,没有列宽,但也基本满足要求了。

基本要求满足了就想要更好的了,所以........网上找了不少,都是类似的...我试图加入该背景色的代码进去,但是没效果 ,求代码..
...全文
225 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 ssw_jack 的回复:

private void btn_Export_Click(object sender, EventArgs e)
{
    //创建Excel
    Workbook wb = new Workbook();
    Worksheet sheet = wb.Worksheets[0];
    //将datagridview的数据导入工作表
    DataTable datatable = this.dataGridView1.DataSource as DataTable;
    sheet.InsertDataTable(datatable, true, 1, 1);
    //自适应列宽
    sheet.AllocatedRange.AutoFitColumns();
    //填充背景色
    for (int rowIndex = 0; rowIndex < sheet.Rows.Count(); rowIndex++)
    {
        if(rowIndex % 2 == 0)
        {
            sheet.Rows[rowIndex].Style.Color = Color.LightYellow;
        }
        else
            sheet.Rows[rowIndex].Style.Color = Color.LightBlue;
    }
    //保存文档
    wb.SaveToFile("output.xlsx", ExcelVersion.Version2013);
}
通过以上方法将数据导入excel, 并自适应列宽和填充颜色,你也可以通过代码自己设置列宽或者对整个表设置背景色。 该方法使用免费版的Spire.XLS
谢谢
desperaso 2017-11-18
  • 打赏
  • 举报
回复
用excell打开后,提示不去管,打开就是带颜色背景的,还可以设置宽度什么的..

            string str =
                @"<table>
                        <tr><td bgcolor=red>1行第一列</td><td bgcolor=yellow>第二列</td></tr>
                        < tr><td>2行第一列</td><td>第二列</td></tr>
                    </table>";
            File.WriteAllText(@"f:\111.xls", str, Encoding.UTF8);

110,536

社区成员

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

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

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