zoukankan      html  css  js  c++  java
  • C#导出EXCEL没有网格线的解决方法

    今天在做项目时,通过流导出数据到Excel却不显示网格线,真是郁闷。上网查了好久才得一良方(注意<XML>标签中的代码):
    DataTable thisTable = DBHelper.GetDataTable("select * from table");
    string sheetName = "sheetName";
    string fileName = "fileName";

    if (thisTable != null)
    {
        StringWriter sw 
    = new StringWriter();
        sw.WriteLine(
    "<html xmlns:x=\"urn:schemas-microsoft-com:office:excel\">");
        sw.WriteLine(
    "<head>");
        sw.WriteLine(
    "<!--[if gte mso 9]>");
        sw.WriteLine(
    "<xml>");
        sw.WriteLine(
    " <x:ExcelWorkbook>");
        sw.WriteLine(
    "  <x:ExcelWorksheets>");
        sw.WriteLine(
    "   <x:ExcelWorksheet>");
        sw.WriteLine(
    "    <x:Name>" + sheetName + "</x:Name>");
        sw.WriteLine(
    "    <x:WorksheetOptions>");
        sw.WriteLine(
    "      <x:Print>");
        sw.WriteLine(
    "       <x:ValidPrinterInfo />");
        sw.WriteLine(
    "      </x:Print>");
        sw.WriteLine(
    "    </x:WorksheetOptions>");
        sw.WriteLine(
    "   </x:ExcelWorksheet>");
        sw.WriteLine(
    "  </x:ExcelWorksheets>");
        sw.WriteLine(
    "</x:ExcelWorkbook>");
        sw.WriteLine(
    "</xml>");
        sw.WriteLine(
    "<![endif]-->");
        sw.WriteLine(
    "</head>");
        sw.WriteLine(
    "<body>");
        sw.WriteLine(
    "<table>");
        sw.WriteLine(
    " <tr>");
        sw.WriteLine(
    "  <td><strong>列名0</strong></td>");
        sw.WriteLine(
    "  <td>列名1</td>");
        sw.WriteLine(
    "  <td>列名2</td>");
        sw.WriteLine(
    "  <td>列名3</td>");
        sw.WriteLine(
    "  <td>列名4</td>");
        sw.WriteLine(
    "  <td>列名5</td>");
        sw.WriteLine(
    " </tr>");
        
    foreach (DataRow dr in thisTable.Rows)
        {
            sw.WriteLine(
    " <tr>");
            sw.WriteLine(
    "  <td>" + dr["C0"+ "</td>");
            sw.WriteLine(
    "  <td>" + dr["C1"+ "</td>");
            sw.WriteLine(
    "  <td>" + dr["C2"+ "</td>");
            sw.WriteLine(
    "  <td>" + dr["C3"+ "</td>");
            sw.WriteLine(
    "  <td>" + dr["C4"+ "</td>");
            sw.WriteLine(
    "  <td>" + dr["C5"+ "</td>");
            sw.WriteLine(
    " </tr>");
        }
        sw.WriteLine(
    "</table>");
        sw.WriteLine(
    "</body>");
        sw.WriteLine(
    "</html>");
        sw.Close();
        Response.Clear();
        Response.Buffer 
    = true;
        Response.Charset 
    = "UTF-8";
        
    this.EnableViewState = false;
        Response.AddHeader(
    "Content-Disposition""attachment; filename=" + fileName +".xls");
        Response.ContentType 
    = "application/ms-excel";
        Response.ContentEncoding 
    = System.Text.Encoding.GetEncoding("GB2312");
        Response.Write(sw);
        Response.End();
    }
  • 相关阅读:
    Mysql 如何设置字段自动获取当前时间
    如何利用OCS缓存TomcatSession全局变量(转)
    CDN技术分享
    怎么在阿里云服务器部署多个tomcat
    nginx模块开发篇 (阿里著作)
    Nginx开发从入门到精通 学习目录分享学习 (阿里著作)
    阿里云 通过YUM源安装nginx
    Java 模板引擎 jetbrick-template
    七天学会NodeJS
    Android开发之蓝牙 --修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备
  • 原文地址:https://www.cnblogs.com/linyechengwei/p/1597835.html
Copyright © 2011-2022 走看看