今天在做项目时,通过流导出数据到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();}

C#导出EXCEL没有网格线的解决方法的更多相关文章

  1. SQL Server 导出Excel有换行的解决方法

    参考地址::https://vcoo.cc/blog/1234/ 从 SQL Server 查询结果中复制结果数据粘贴到 Excel 中存在这么个问题:如果字段内容中有换行符,那么粘贴到 Excel ...

  2. 64位系统web项目导出excel问题分析及解决方法汇总

    最近在web项目中做了一个导出Excel功能.在导出的时候报错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败. 一 ...

  3. phpexcel导出数字带E的解决方法

    phpexcel导出数字带E的解决方法 excel之所以带E 是因为按照数字格式来显示了(数字过长的时候) 数字左边或者右边加空格就变成字符串了 那么excel就会按照字符串格式来显示了 就不会带E了

  4. [转载]oracle 11g不能导出空表的多种解决方法

    原文地址:11g不能导出空表的多种解决方法">oracle 11g不能导出空表的多种解决方法作者:Anlin_Yang ORACLE 11g 用exp命令导出库文件备份时,发现只能导出 ...

  5. Xcode导出App一般问题及其解决方法(开发者协议变更及Bundle Id过期问题)

    Xcode导出App一般问题及其解决方法 问题一:开发者协议变更问题. 变更后打包会出现如下图A警告,此时点击 "visit developer website"进入Apple开发 ...

  6. 内存或磁盘空间不足 Microsoft Excel无法再次打开解决方法

    在网络上下载的文件,使用EXCEL打开的时候提示“内存或磁盘空间不足,Microsoft Excel 无法再次打开或保存任何文档.”,针对这个问题,装机之家小编特地在网上搜罗了具体解决方法,但是网上提 ...

  7. C#用ado.net访问EXCEL的常见问题及解决方法

    C#用ado.net访问EXCEL的常见问题及解决方法,除了像sql server,access常见的数据库,其实Excel文件也可以做为数据库访问. ado.net访问excel的实例: OleDb ...

  8. 使用POI导出EXCEL工具类并解决导出数据量大的问题

    POI导出工具类 工作中常常会遇到一些图表需要导出的功能,在这里自己写了一个工具类方便以后使用(使用POI实现). 项目依赖 <dependency> <groupId>org ...

  9. Java代码导入导出 Excel 表格最简单的方法

    import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...

随机推荐

  1. python中如何不区分大小写的判断一个元素是否在一个列表中

    python中判断某一个元素是否在一个列表中,可以使用关键字in 和 not in. 示例如下: 如果需要输出相应的信息,可以搭配使用if语句,这里不赘述. --------------------- ...

  2. Log4j按级别输出日志到不同文件配置分析 (转:projava)

    关于LOG4J 按照级别输出日志,并按照级别输出到不同文件中的说法有很多, 网上贴的最多的log4j.properties的设置是这样的 log4j.rootLogger=info,stdout,in ...

  3. git忽略文件并删除git仓库中的文件

    问题描述 不慎在创建.gitignore  文件之前的时候将文件push到了 git仓库,即使之后在.gitignore文件中写入新的过滤规则,这些规则也不会起作用的,git依然会对所有git仓库中的 ...

  4. 使用siege对web接口进行post方式的压力测试

    为了达到压力测试的效果,需要申请一台线上机器,并且安装压力测试的工具siege. 安装新版siege.资料说yum安装的版本2.70对于post方式支持的不好,验证后发现请求可以正常发过去,但是打开d ...

  5. SqlServer和Oracle中一些常用的sql语句9 SQL优化

    --SQL查询优化 尽量避免使用or,not,distinct运算符,简化连接条件 /*Or运算符*/ use db_business go select * from 仓库 where 城市='北京 ...

  6. plsql经验之谈

    工具你用熟悉了,可以解决实际生活得问题,且是快速的.比如我们要需要表的字段,和注释的时候,直接右击,详情,可以复制. 我们讲个熟悉的场景或者案例,比如,我们需要把已经建立的源表,需要一定的加工和处理, ...

  7. Android 常见知识整理(1)

    Android Support V4, V7, V13的作用与用法 http://blog.csdn.net/hh2000/article/details/39718623 2.  开源项目 注解   ...

  8. 关于string.h中字符串的操作

     string.h中字符操作的函数 注意:**对字符数组的多次操作需要进行赋初值.或者善于用memset()函数进行清空数组的操作.**     否则容易出现错误. string.h文件中函数的用法加 ...

  9. WPF 只允许打开一个实例

    我们有时候只希望我们的程序只打开一个实例,也就是我们的软件只有一次被打开. 那么我们可以通过一个办法知道,在这个软件打开前是不是打开过一个,还没关闭.也就是是否存在另一个程序在运行. 下面是一个简单方 ...

  10. Redis 学习笔记-应用场景

    Redis作缓存系统 Redis可以对每个键设置生存时间 可以限定数据占用的最大内存空间,在数据达到空间限制后可以按照一定规则自动淘汰不需要的键. 设置方法: 修改配置文件的maxmemory参数,限 ...