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();
    }
  • 相关阅读:
    fadeIn()与fadeOut()方法
    js常用正则表达式(经典)
    正则表达式大全
    slideDown()和slideUp()方法
    toggle()显示/隐藏的用法
    skip-grant-tables 修改linux的mysql忘记root密码
    基于Vue、web3的以太坊项目开发及交易内幕初探 错误解决总结
    MySQL linux错误处理
    求职 firekylin
    如何编写一个可升级的智能合约
  • 原文地址:https://www.cnblogs.com/wwwzzg168/p/3568963.html
Copyright © 2011-2022 走看看