【SQL开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了SQL开源代码-特别推荐:纯VB_NET代码直接生成Excel文件(不需要Excel) - 灵感之源 - 博客园 - 培训资料的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
特别推荐:纯VB.NET
代码直接生成Excel文件(不需要Excel) - 灵感之源 - 博客园 灵感之源 新产品发布:智能
网络资源系统 博客园 社区 首页 新随笔 联系 管理 订阅 随笔- 400 文章- 2 评论- 3623 特别推荐:纯VB.NET
代码直接生成Excel文件(不需要Excel) 几年前看见一VB6
代码,直接生成Excel文件(不需要Excel),最近把它改写成VB.NET,支持简体中文。
原理:根据以公开的BIFF2.1文件格式,直接Binary写Excel文件。
效果: 下载:http://files.cnblogs.com/unruledboy/Smart20Excel20Lib.zip 另外,鞠强网友写了一个C版本:http://www.cnblogs.com/juqiang/archive/2004/07/08/22255.aspx http://files.cnblogs.com/unruledboy/smartexcel.rar posted 2004-07-07 16:11 灵感之源 阅读32446 评论63 编辑 收藏 网摘 所属分类: 2.技术交流 发表评论 回复 引用 1楼 2004-07-07 16:20 郑彬 未注册用户 真是牛比,我想要C#的,不知道有没有,我搞不懂VB转换到C#的方法。
回复 引用 2楼 2004-07-07 16:22 myrat 未注册用户 还没仔细看,第一感觉是,太厉害了 楼上的试试看vb-gtc converter吧 回复 引用 查看 3楼 2004-07-07 16:27 unruledboy灵感之源 vb.net-gtC的工具很多,SharpDevelop最新版本可以 回复 引用 查看 4楼 2004-07-07 21:53 steeven 什么原理啊?贴了一堆
代码,懒得看呀 : 回复 引用 查看 5楼 2004-07-07 22:03 Threading 是不是已知Excel的文件格式啊。
回复 引用 6楼 2004-07-08 09:58 zhaixd 未注册用户 不好意思,给你9分的,点错到1分上面去了 回复 引用 查看 7楼 2004-07-08 10:05 unruledboy灵感之源 没有问题,再点一次9就好;) 回复 引用 8楼 2004-08-26 17:11 Loki 未注册用户 跟用模版相比,数据插入和格式化会不会更麻烦? 回复 引用 查看 9楼 2004-08-27 19:55 birdshome 这个BIFF2.1太old,好像不支持边框效果,还有合并单元格不知道行不行? 回复 引用 10楼 2004-09-23 10:28 胡明 未注册用户 大伙有没有试过用C操作Excel COM来生成各种数据图形的呢,最近我一直在研究,不过没有什么头绪,只好先从微软站点上下载一个VBA来看看,希望从中能找到一点思路。
回复 引用 11楼 2004-10-14 11:24 mys 未注册用户 我用C#写了个调用Excel com 来生成Excel文件的程序,已经成功了(没有用模板)但是excel进程杀不了!!郁闷啊!!!有人知道杀Excel进程吗? 回复 引用 查看 12楼 楼主2004-10-14 11:40 灵感之源 问博客堂的lostinnet吧。
他实现过。
回复 引用 13楼 2004-10-15 09:33 Jack 未注册用户 用Dcomcnfg杀进程 回复 引用 查看 14楼 2004-11-07 09:45 春天水中的鱼 你还真厉害。
怎么用C#生成模板? 回复 引用 15楼 2004-11-28 18:14 soaring 未注册用户 好像ASP.NET下使用无效 回复 引用 16楼 2005-01-21 13:34 wf 未注册用户 纯VB.NET
代码直接生成
word怎么做??? 回复 引用 17楼 2005-03-17 14:05 Danny 未注册用户 很牛~ 我在用你的
代码,不会追究我的责任吧?呵呵~ 回复 引用 18楼 2005-03-22 16:09 zhou 未注册用户 为什么我用时,字符串少的时候导入没有问题,字符串200多字以上时,excel里边没有任何字符。
为什么啊??????????????????????????????????????????? 回复 引用 19楼 2005-03-23 16:35 qhcyx 未注册用户 上面的大虾,怎么可以不用模板,用C#就生成excel? 回复 引用 20楼 2005-04-03 00:01 deli 未注册用户 哦!这个好方法,.net 现在还是不错的!! 回复 引用 查看 21楼 2005-04-07 15:12 yinh 今天正好要用到写excel的,顺便就看了看。
但是可能不符合我的要求,因为我想写一个拥有多个sheet的excel文件,不知道这个组件可不可以做到。
回复 引用 22楼 2005-04-09 18:32 DavidQi 未注册用户 我写了个可以一个拥有多个sheet的XML文件(可以用Excel2003,XP等打开完全不用Excel,而是直接写入到XML)但是客户使用的还是Office97,不知如何将XML再转换为XLS。
不知哪位有高见。
纯
VB.NET
代码直接生成Excel文件(不需要Excel)的方法不支持合并单元格、Formula Cell 以及多Sheet. 目前的Excel文件格式远比BIFF2.1复杂。
回复 引用 查看 23楼 2005-04-13 23:19 wildfish 谢谢你的smartexcel,虽然我用的是c版的,也感谢那位仁兄: 回复 引用 查看 24楼 2005-05-30 16:09 ttyp http://www.freevbcode.com/ShowCode.aspID6856 这里有个BIFF8格式的 回复 引用 25楼 2005-06-03 09:34 心雨 未注册用户 http://www.cnblogs.com/Files/unruledboy/Smart20Excel20Lib.zip 下载后为什么打不开? 回复 引用 26楼 2005-07-08 16:48 雅雅 未注册用户 如果能够像owc10一样能支持
Sql语句绑定数据就更好了 回复 引用 27楼 2005-07-19 08:36 xiaobetter 未注册用户 先说一声谢谢啦,vb.net真的很喜欢。
希望我也能有Aganippe 回复 引用 28楼 2005-07-19 21:12 jieson 未注册用户 如果要设置字体颜色可以做到吗?我正在想如何解决这个
问题: 回复 引用 29楼 2005-08-24 15:48 feng 未注册用户 问:如何合并单元格呢? 回复 引用 30楼 2005-09-23 15:34 11 未注册用户 怎么添加公式 回复 引用 31楼 2005-09-25 22:06 hello 未注册用户 作为一个业余使用者请教一下 我学
经济管理的,在公司主要做计划和报表,一直使用Word amp Excel就能完成工作。
今年领导安排给我一个新任务,统计和分析预算量。
好像Excel不能完成这样的
工作。
如果必须
学习编程语言的话VB.
NETC.NETJAVAC哪一个容易学?原来的
计算机编程知识都还给老师了。
: 看了众多的帖子,好像VB.NET没有C.NET专业,而且不是主流语言?(朋友说C和JAVA才是主流)我主要考虑容易学习,方便使用。
不在乎
程序的执行效率。
我怎么选择呀?VB.NETC.NETJAVAC 谢谢啦!! 顺便问一下,VB.NET2005是不是更加容易学习啦? 我的联系方式: lj110104msn.com 回复 引用 查看 32楼 2005-10-14 14:14 坐看云起 把六合彩广告删了吧。
过分了。
回复 引用 33楼 2005-10-31 18:29 BabyGrilTany 未注册用户 什么都看不到 : 回复 引用 34楼 2005-11-13 15:32 黄二爷 未注册用户 哥们,用你这个
代码我遇到一个问题,就是quot??quot等特殊字符写到excel中就变成了问号了,这个有什么办法可以解决,谢谢 回复 引用 查看 35楼 2006-02-15 11:25 不会飞的鱼 强人啊 顶一个 回复 引用 36楼 2006-03-30 14:18 smilewu 未
注册用户 我用反射方法,通过后期绑定,可以动态实现操作Execl! 是用纯C实现的,实现的功能很多! 有需要的可以联系我 回复 引用 37楼 2006-03-31 23:42 mksoft 未注册用户 smilewu 有问题想请教你,你都没有联系方式 回复 引用 38楼 2006-04-12 00:07 蓝天 未注册用户 恳请赐教 回复 引用 39楼 2006-04-26 02:41 linruibin 未注册用户 smilewu 谢谢你,我正急用向Excel中输入数据。
我用的是C ,office2003,不知道怎么引用COM组件,我在里面找不到,谢谢赐教 我的邮箱ruibinlinyahoo.com.cn 回复 引用 40楼 2006-05-09 10:15 little ge 未注册用户 请问可以给我vb的源码吗? gelinqinggmail.com 回复 引用 41楼 2006-05-31 15:01 jiemupig 未注册用户 可以实现工作簿中创建多个工作表吗. 回复 引用 42楼 2006-06-19 10:41 luoyuhua_2000 未注册用户 请问你的那个VB6的
代码是在那儿可以下呢,或者能不能邮一份给我,我的邮箱 luoyuhua_2000163.com 回复 引用 43楼 2006-07-07 09:26 辛 未注册用户 不错,慢慢研究 回复 引用 44楼 2006-07-19 14:17 zyb 未注册用户 可以生成复杂的Excel表吗?就是合并单元格和加底色等等。
回复 引用 45楼 2006-07-19 14:17 zyb 未注册用户 可以生成复杂的Excel表吗?就是合并单元格和加底色等等。
zhaiyabin126.com 回复 引用 46楼 2006-07-19 14:17 zyb 未注册用户 可以生成复杂的Excel表吗?就是合并单元格和加底色等等。
zhaiyabin126.com 回复 引用 47楼 2006-07-24 16:10 zhanggang 未注册用户 可以给我vb的
代码吗,万分感激! springsimba163.com 回复 引用 48楼 2006-08-24 21:56 rockylee 未注册用户 什么都看不到啊。
回复 引用 49楼 2006-09-11 14:00 zyb 未注册用户 如何使用这个控件进行模板生成?可以实现吗? 回复 引用 50楼 2006-09-11 20:21 ldd 未注册用户 smilewu 您好:您在论坛上说您用的反射方法生成的execl文件能否指教一下 我的邮箱:lddyuhb163.com 回复 引用 51楼 2006-09-25 17:23 EXCEL4.0 未注册用户 long c0 char s100 __int8 b0x0 __int16 w0x0 div_t pt unsigned short XLSBOF5 0x409 6 0 0x10 0 unsigned short XLSGUTS6 0x80 8 0 0 0 0 unsigned short XLSPalette3 0x92 54 13 unsigned char XLSFONT10 0x31 2 0 0 0 0 0 0 0 0 unsigned char XLSFONTH10 0x31 2 0 0 0 0 0 0 8 0 unsigned char XLSFONTG10 0x31 2 0 0 0 0 0 0 10 0 unsigned char XLSSFont160x31 2 0x0C 0 0xC8 0 0 0 0xFF 0x7F 5 0x41 0x72 0x69 0x61 0x6C unsigned char XLSXF1160x43 4 0x0C 0 0 0 0xF5 0xFF 0x20 0 0 0xCE 0 0 0 0 unsigned char XLSXF2160x43 4 0x0C 0 1 0 0xF5 0xFF 0x20 0xF4 0 0xCE 0 0 0 0 unsigned char XLSXF3160x43 4 0x0C 0 2 0 0xF5 0xFF 0x20 0xF4 0 0xCE 0 0 0 0 unsigned char XLSXF4160x43 4 0x0C 0 0 0 0xF5 0xFF 0x20 0xF4 0 0xCE 0 0 0 0 unsigned char XLSXF5160x43 4 0x0C 0 0 0 1 0 0x20 0 0 0xCE 0 0 0 0 unsigned char XLSXF6160x43 4 0x0C 0 1 0x21 0xF5 0xFF 0x20 0xF8 0 0xCE 0 0 0 0 unsigned char XLSXF7160x43 4 0x0C 0 1 0x1F 0xF5 0xFF 0x20 0xF8 0 0xCE 0 0 0 0 unsigned char XLSXF8160x43 4 0x0C 0 1 0x20 0xF5 0xFF 0x20 0xF8 0 0xCE 0 0 0 0 unsigned char XLSXF9160x43 4 0x0C 0 1 0x1E 0xF5 0xFF 0x20 0xF8 0 0xCE 0 0 0 0 unsigned char XLSXF10160x43 4 0x0C 0 1 0x0D 0xF5 0xFF 0x20 0xF8 0 0xCE 0 0 0 0 unsigned char XLSXF16 0x43 4 0x0C 0 5 0 1 0 0x21 0x78 0x41 3 0 0 0 0 unsigned char XLSXFB16 0x43 4 0x0C 0 8 0 1 0 0x22 0x78 0x41 2 0x71 0x71 0x71 0 unsigned char XLSXFH16 0x43 4 0x0C 0 6 0 1 0 0x22 0x78 0x41 2 0x71 0x71 0x71 0x71 unsigned char XLSXFG16 0x43 4 0x0C 0 7 0 1 0 0x21 0x78 0xC1 2 0 0 0 0 unsigned char XLSXFF16 0x43 4 0x0C 0 5 0 1 0 0x22 0x78 0xC1 2 0xB9 0xB9 0xB9 0xB9 unsigned char XLSXFF116 0x43 4 0x0C 0 5 0 1 0 0x22 0x78 0xC1 2 0xB9 0 0xB9 0 unsigned char XLSXFRF16 0x43 4 0x0C 0 9 0 1 0 0x21 0x78 0xC1 2 0xB9 0xB9 0xB9 0xB9 unsigned char XLSXFRF116 0x43 4 0x0C 0 9 0 1 0 0x21 0x78 0xC1 2 0xB9 0 0xB9 0 unsigned short XLSDimension7 0x200 0x0A 0 0xFFFF 0 0xFF 0 unsigned short XLSCOL8 0x7D 0x0C 0 0 0 0xF 0 0 unsigned short XLSLabel6 0x204 0 0 0 0 0 unsigned short XLSBlank5 0x201 6 0 0 0x17 unsigned short XLSBlankF5 0x201 6 0 0 0x19 unsigned short XLSBlankRF5 0x201 6 0 0 0x1C unsigned short XLSNumber5 0x203 14 0 0 0 unsigned short XLSRK5 0x27E 10 0 0 0 unsigned short XLSFormula16 0x406 0x1D 0 0 0x18 0 0 0 0 3 0x0B 0x25 0 0 0 0 unsigned short XLSEOF2 0x0A 0 回复 引用 52楼 2006-09-25 17:24 EXCEL4.0 未注册用户 FILE fh if fhfopenquotE:COMDelphibakExcel41.xlsquotquotwbquot NULL break fwriteXLSBOF25fh//10 fwriteXLSGUTS26fh//12 fwriteXLSPalette23fh//6 //颜色 RGB 每色占2位 //0xFFFFFF 白色 //0x000000 黑色 c0xFF0202 fwriteampc41fh//4 HeaderFont.Color 首行 字体 蓝色 c0x007D7D fwriteampc41fh//4 HeaderColor 底部 深黄绿色 c0x000000 fwriteampc41fh//4 GroupNodeTextColor 尾行 字体 嘿色 c0xFF8080 fwriteampc41fh//4 GroupNodeColor 底部 紫色 c0x000000 fwriteampc41fh//4 Font.Color 数据 字体 嘿色 c0xDFFFFF fwriteampc41fh//4 Color 底部 土黄色 c0x000000 fwriteampc41fh//4 clWindowFrame c0xFFFFFF fwriteampc41fh//4 clWindow c0x000000 fwriteampc41fh//4 BandFont.Color c0xFFFFFF fwriteampc41fh//4 BandColor c0x000000 fwriteampc41fh//4 RowFooterTextColor c0xFFFFFF fwriteampc41fh//4 RowFooterColor c0x000000 fwriteampc41fh//4 GridLineColor // EXCEL Font
系统默认字体 fwriteXLSSFont116fh//16 fwriteXLSSFont116fh//16 fwriteXLSSFont116fh//16 fwriteXLSSFont116fh//16 // Grid Font // 底部字体 18 wsprintfsquotMicrosoft Sans Serifquot b__int8strlens ptdiv 1220256 //12磅字体 XLSFONT2 b7 XLSFONT4 pt.rem XLSFONT5 pt.quot XLSFONT6 1 //粗体 XLSFONT8 12 fwriteXLSFONT110fh fwriteampb11fh fwrites1bfh // // 设定列头行顶部字体 单元格00 // XLSFONT6值 0正常体 1粗体 2斜体 4底线 8叉线 wsprintfsquotArialquot b__int8strlens ptdiv 1620256 //12磅字体 XLSFONTH2 b7 XLSFONTH4 pt.rem XLSFONTH5 pt.quot XLSFONTH6 1 //粗体 fwriteXLSFONTH110fh fwriteampb11fh fwrites1bfh // Group Font wsprintfsquotMicrosoft Sans Serifquot b__int8strlens ptdiv 820256 XLSFONTG2 b7 XLSFONTG4 pt.rem XLSFONTG5 pt.quot XLSFONTG6 1 fwriteXLSFONTG110fh fwriteampb11fh fwrites1bfh // Band Font wsprintfsquotMS Gothicquot b__int8strlens ptdiv 820256 XLSFONT2 b7 XLSFONT4 pt.rem XLSFONT5 pt.quot XLSFONT6 1 XLSFONT8 16 fwriteXLSFONT110fh fwriteampb11fh fwrites1bfh // Footer Font wsprintfsquotModernquot b__int8strlens ptdiv160256 XLSFONT2 b7 XLSFONT4 pt.rem XLSFONT5 pt.quot XLSFONT6 1 XLSFONT8 18 fwriteXLSFONT110fh fwriteampb11fh fwrites1bfh // // 设定每列字体 // XLSFONT6值 0正常体 1粗体 2斜体 4底线 8叉线 int i for i0ilt3i wsprintfsquotSylfaenquot b__int8strlens XLSFONT2 b7 ptdiv1020256 //10磅字体 XLSFONT4 pt.rem XLSFONT5 pt.quot XLSFONT6 0 //正常体 XLSFONT8 12 fwriteXLSFONT110fh fwriteampb11fh fwrites1bfh 回复 引用 53楼 2006-09-25 17:25 EXCEL4.0 未注册用户 fwriteXLSXF1116fh fwriteXLSXF2116fh fwriteXLSXF2116fh fwriteXLSXF3116fh fwriteXLSXF3116fh fori0ilt10i fwriteXLSXF4116fh fwriteXLSXF5116fh fwriteXLSXF6116fh fwriteXLSXF7116fh fwriteXLSXF8116fh fwriteXLSXF9116fh fwriteXLSXF10116fh XLSXF120xA7 //0xA7 细点线 0xA1线 XLSXF130xA7 //0xA7 细点线 0xA1线 XLSXF140xA7 //0xA7 细点线 0xA1线 XLSXF150xA7 //0xA7 细点线 0xA1线 fwriteXLSXF116fh fwriteXLSXFH116fh fwriteXLSXFG116fh fwriteXLSXFF116fh fwriteXLSXFF1116fh fwriteXLSXFB116fh fwriteXLSXFRF116fh fwriteXLSXFRF1116fh // // 设定每列对齐方式 // XLSXF8取值 左0x21 中0x22 右0x23 for i0ilt3i XLSXF4 i10 if i2 XLSXF8 0x23 //置中 else XLSXF8 0x21 //置左 fwriteXLSXF116fh // // 设定每列宽度 // XLSCOL4取值 36 每列宽度 fori0ilt3i XLSCOL2 i XLSCOL3 i XLSCOL4 36220 //列宽150 fwriteXLSCOL28fh fwriteXLSDimension27fh // // 写入每列头部 可以省略 fori0ilt3i _itoa rand s16 w__int16strlens XLSLabel1 w8 XLSLabel2 0 //行数 第一行 XLSLabel3 i //列数 XLSLabel4 0x16 XLSLabel5 w fwriteXLSLabel26fh fwrites1wfh // 写入记录值 可以省略 //char字符串 forint i1ilt50i wsprintfsquot二进制 quot _itoa rand amps72 w__int16strlens XLSLabel1 w8 XLSLabel2 i //行数 XLSLabel3 0 //列数 XLSLabel4 0x1D0 XLSLabel5 w fwriteXLSLabel26fh fwrites1wfh //Double双精度 double f forint i1ilt50i frand/3.2 XLSNumber2i //行数 XLSNumber31 //列数 XLSNumber40x1D1 fwriteXLSNumber25fh fwriteampf81fh //int数值 __int32 nt forint i1ilt50i ntrand ntltlt2 nt2 XLSRK2i //行数 XLSRK32 //列数 XLSRK40x1D2 fwriteXLSRK25fh fwriteampnt41fh // _itoa rand s16 w__int16strlens XLSLabel1 w8 XLSLabel2 55 //行数 第一行 XLSLabel3 2 //列数 XLSLabel4 0x18 XLSLabel5 w fwriteXLSLabel26fh fwrites1wfh //Excel End fwriteXLSEOF22fh fclosefh 回复 引用 54楼 2006-09-25 17:27 EXCEL4.0 未注册用户 这是
Delphi下 dxDBGrid 实现方法 转换成C语法的实现 请将上面3个部分合在一起 用VC BC 编译即可 EXCEL 2000版的还在研究中 回复 引用 55楼 2006-09-25 17:34 EXCEL4.0 未注册用户 http://www.freevbcode.com/ShowCode.aspID6856 上面地址是VB
代码的实现 支持 EXCEL 97 2000版本 同时可以实现合病格格等等 回复 引用 56楼 2007-01-22 11:23 Now 未注册用户 上面地址是VB
代码的实现 支持 EXCEL 97 2000版本 但当生成含有中文的字符时出现乱码不支持中文如何解决 回复 引用 57楼 2007-03-29 10:21 DATE 未注册用户 怎么预览打印呀 回复 引用 查看 58楼 2007-05-19 19:20 bearhunter good 回复 引用 59楼 2007-09-28 13:13 等待 未注册用户 写的不错啊http://www.baidu..