以下代码演示了 直接通过excel可以识别的文件结构生成xls文件的方法,这样就可以不引用麻烦的ole了。

  1. using  System;
  2. using  System.Collections.Generic;
  3. using  System.Text;
  4. namespace  ConsoleApplication16
  5. {
  6. class  Program
  7. {
  8. static   void  Main( string [] args)
  9. {
  10. //不通过OLE生成excel文件的方法
  11. ExcelWriter excel =  new  ExcelWriter(@ "c:/test.xls" );
  12. excel.BeginWrite();
  13. excel.WriteString(0, 0,  "Name" );
  14. excel.WriteString(0, 1,  "Score" );
  15. excel.WriteString(1, 0,  "jinjazz" );
  16. excel.WriteNumber(1, 1, 100);
  17. excel.WriteString(2, 0,  "游客" );
  18. excel.WriteNumber(2, 1, 0);
  19. excel.EndWrite();
  20. }
  21. }
  22. public   class  ExcelWriter
  23. {
  24. System.IO.FileStream _wirter;
  25. public  ExcelWriter( string  strPath)
  26. {
  27. _wirter =  new  System.IO.FileStream(strPath, System.IO.FileMode.OpenOrCreate);
  28. }
  29. /// <summary>
  30. /// 写入short数组
  31. /// </summary>
  32. /// <param name="values"></param>
  33. private   void  _writeFile( short [] values)
  34. {
  35. foreach  ( short  v  in  values)
  36. {
  37. byte [] b = System.BitConverter.GetBytes(v);
  38. _wirter.Write(b, 0, b.Length);
  39. }
  40. }
  41. /// <summary>
  42. /// 写文件头
  43. /// </summary>
  44. public   void  BeginWrite()
  45. {
  46. _writeFile( new   short [] { 0x809, 8, 0, 0x10, 0, 0 });
  47. }
  48. /// <summary>
  49. /// 写文件尾
  50. /// </summary>
  51. public   void  EndWrite()
  52. {
  53. _writeFile( new   short [] { 0xa, 0 });
  54. _wirter.Close();
  55. }
  56. /// <summary>
  57. /// 写一个数字到单元格x,y
  58. /// </summary>
  59. /// <param name="x"></param>
  60. /// <param name="y"></param>
  61. /// <param name="value"></param>
  62. public   void  WriteNumber( short  x,  short  y,  double  value)
  63. {
  64. _writeFile( new   short [] { 0x203, 14, x, y, 0 });
  65. byte [] b = System.BitConverter.GetBytes(value);
  66. _wirter.Write(b, 0, b.Length);
  67. }
  68. /// <summary>
  69. /// 写一个字符到单元格x,y
  70. /// </summary>
  71. /// <param name="x"></param>
  72. /// <param name="y"></param>
  73. /// <param name="value"></param>
  74. public   void  WriteString( short  x,  short  y,  string  value)
  75. {
  76. byte [] b = System.Text.Encoding.Default.GetBytes(value);
  77. _writeFile( new   short [] { 0x204, ( short )(b.Length + 8), x, y,0, ( short )b.Length });
  78. _wirter.Write(b, 0, b.Length);
  79. }
  80. }
  81. }

转载于:https://www.cnblogs.com/cl1024cl/archive/2008/08/01/6204892.html

通过文件结构直接生成xls文件相关推荐

  1. Excel exportExcel.cs 一个生成.xls文件的例子

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsof ...

  2. 【PHPExcel】生成xls文件并下载

    //错误处理 时区设置 error_reporting(E_ALL); ini_set('display_errors',TRUE); ini_set('display_startup_errors' ...

  3. java 使用poi HSSFWorkbook导出xls文件 office打不开,提示文件损坏,wps能打开。

    先上我的xls结构图.每个sheet中的数据是结构是相同,是循环生成. 测试过程: 1.每个sheet单独生成xls文件,在office中是可以打开,两个合在同一个xls中就office无法打开,猜测 ...

  4. 使用php 实现生成Excel文件并导出

    在现在的项目里,不管是电商项目还是别的项目,在管理端都会有导出的功能,比方说订单表导出,用户表导出,业绩表导出.这些都需要提前生成excel表,然后在导出,实际上是在代码里生成一张excel表,然后通 ...

  5. java excel转pdf linux,从JAVA直接读取EXCEL、WORD并生成PDF文件

    从JAVA直接读取EXCEL.WORD并生成PDF文件 1.操作EXCEL和WORD文件 使用JAVA从EXCEL.WORD文件中读写数据,可以使用http://jexcelapi.sourcefor ...

  6. VC6.0功能之-生成excel文件

    我们在寻找学习资料时经常会发现,下载的资料并不是自己想要的,有时候下载的编译环境不一样,有时候下载的资料运行通不过,还有时下载的和描述时的相差甚远,这样即浪费了时间,又没得到想到的东西. VC6.0是 ...

  7. python excel处理框架_django框架基于模板 生成 excel(xls) 文件操作示例

    本文实例讲述了django框架基于模板 生成 excel(xls) 文件操作.分享给大家供大家参考,具体如下: 生成Excel 文件,很多人会采用一些开源的库来实现,比如python 自带 csv 库 ...

  8. Android中生成.xls的Excel文件

    Java操作Excel的两种方式 1.通过第三方框架Apache POI实现 2.通过第三方框架Java Excel实现 Apache POI实现步骤: 1.下载jar包[poi-bin-3.15-2 ...

  9. Java根据模板生成excel文件【Java】【EasyExcel】【xls】

    Background 前两天客户反应对数据导出的文件格式不太满意,然后给了我们模板,让我们按照模板导出数据.于是一通修改(excel数据量有限制他们也不管,之前我们给的csv格式). Java操作ex ...

  10. python生成wps文件_使用Python操作XLS文件(wps中叫et)

    一旦TE需要* *信息的列表,我导出一个txt文件与python和扔给他们,但是他们很不开心,哈哈,因为他们想要将数以百计的数据放到xls文件列表输出,工作数量太大,所以我问我出口成xls文件然后给他 ...

最新文章

  1. 周礼栋:现在是计算机系统和网络研究“最好的时代”
  2. 23种设计模式详解_太厉害了,清华大牛一个坦克项目就把23种设计模式给抽丝剥茧了...
  3. 反转!Python再次卫冕2020年编程榜,Java和C回落,你怎么看?​
  4. POJ 1952 BUY LOW, BUY LOWER
  5. JavaScript:windows关机效果
  6. LOJ#2343. 「JOI 2016 Final」集邮比赛 2
  7. 必备浏览器插件,不用安装音乐软件全家桶,轻松下载全网音乐!
  8. 关于Hyper-V设置了本地桥接网络后 宿主机网络变慢的问题
  9. Jmeter常用插件下载
  10. edge microsoff 连不上网_win10电脑连不上网的三种解决方法
  11. 如何在卸载Citrix Receiver之后清理删除残留文件 【Mac】
  12. Android 类似未读短信消息图标显示的实现分析
  13. c语言题库p797,高三C语言第二次月考试题
  14. 自己动手做sidebar
  15. Java 官网下载+安装(Linux)
  16. 初步掌握MapReduce的架构及原理
  17. 破解仓储难题?看WMS如何解决
  18. 金仓数据库 KingbaseES V8.3至V8.6迁移最佳实践(3. KingbaseES移植能力支撑体系)
  19. 魅族flashfire_[FIRE]魅族魅蓝Note2公开版 解锁BL 刷入奇兔中文recovery教程
  20. 开源的在线office

热门文章

  1. 需求定律的3大挑战——《可以量化的经济学》
  2. OpenMAX IL介绍与其体系
  3. android 开源框架
  4. 手机号码归属地查询接口大全
  5. GDAL打开HDF格式时遇到的中文路径问题(未解决)
  6. mysql安装手册(2)
  7. 知乎:国家何时整治程序员的高效现象?
  8. 程序员需知的 58 个网站!个个经典
  9. 支付宝架构到底有多牛逼!原来是这样的,真的超乎想象~
  10. Google深度学习TensorFlow最好的入门文章!