【XXXXXT】直接通过文件结构生成xls文件
93°2009/07/16软件综合 IP:广东
这个是给某人做项目的时候写的。

原本是C#的,我改写成XXXXXT了,并且编译了一个dll。

--->>>>>>>>
attachment icon Excel_Writer.rar 4.40KB RAR 55次下载 <<<<<<<<---

测试通过,很好用

原文地址XXXXXXXXXXXXXXXXXXXt/jinjazz/archive/2008/08/01/XXXXXXXXXXpx

调用方法:

Private Sub button1_Click_1(ByVal sender As Object, ByVal e As EventArgs)
    Dim excel As New ExcelWriter("e:\test.xls")
    XXXXXXXXginWrite
    excel.WriteString(0, 0, "1")
    excel.WriteString(0, 1, "2")
    excel.WriteString(1, 0, "3")
    excel.WriteNumber(1, 1, 4)
    excel.WriteNumber(2, 1, 5)
    excel.EndWrite
End Sub


这个,要写多维数组到xls就简单了吧 = = 直接循环 嗯

下面是代码

Public Class Exel_Writer
    Dim _r As XXXXXXXXXXXXleStream

    Public Function Init(ByVal strPath As String)
        _r = New XXXXXXXXXXXXleStream(strPath, XXXXXXXXXXXXleMode.OpenOrCreate)
        Return Nothing
    End Function

    Public Sub BeginWrite()
        Me._writeFile(New Short() {&H809, 8, 0, &H10, 0, 0})
    End Sub


    Private Function _writeFile(ByVal values As Short())
        Dim v As Short
        For Each v In values
            Dim b As Byte() = XXXXXXXXXXXXXXXtBytes(v)
            Me._r.Write(b, 0, b.Length)
        Next
        Return Nothing
    End Function

    Public Function EndWrite()
        Dim CS As Short() = New Short(2 - 1) {}
        CS(0) = 10
        Me._writeFile(CS)
        Me._XXXXose()
        Return Nothing
    End Function

    Public Function WriteNumber(ByVal x As Short, ByVal y As Short, ByVal value As Double)
        Dim CS As Short() = New Short(5 - 1) {}
        CS(0) = &H203
        CS(1) = 14
        CS(2) = x
        CS(3) = y
        Me._writeFile(CS)
        Dim b As Byte() = XXXXXXXXXXXXXXXtBytes(value)
        Me._r.Write(b, 0, b.Length)
        Return Nothing
    End Function

    Public Function WriteString(ByVal x As Short, ByVal y As Short, ByVal value As String)
        Dim b As Byte() = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXtBytes(value)
        Dim CS As Short() = New Short(6 - 1) {}
        CS(0) = &H204
        CS(1) = CShort((b.Length + 8))
        CS(2) = x
        CS(3) = y
        CS(5) = CShort(b.Length)
        Me._writeFile(CS)
        Me._r.Write(b, 0, b.Length)
        Return Nothing
    End Function
End Class


附:原C#代码



ex.png
来自:计算机科学 / 软件综合
15
 
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
jimmyxu
15年7个月前 IP:未同步
125845
Button1...我又见到了……

话说您直接Imports XXXXXXXXX不就完了,每次都写一遍累不累(虽然我们有IntelliSense……)

= =...还有无爱的Class1……--~~~~
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°作者
15年7个月前 IP:未同步
125846
……
好吧,button1是囧3程序特色
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
我说要有光
15年7个月前 IP:未同步
125862
xls还是xlsx?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
rc5
15年7个月前 IP:未同步
125864
_writeFile(new short[] { 0x809, 8, 0, 0x10, 0, 0 }
这种让人看到心里不踏实。

其实写成带分割符的txt, 然后一个批处理导入到excel中就搞定了。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
jimmyxu
15年7个月前 IP:未同步
125866
引用第3楼小光Telnet于2009-07-16 08:01发表的  :
xls还是xlsx?

显然是XLS...XLSX直接imports下XML库就完了
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°作者
15年7个月前 IP:未同步
127126
话说……没人鸟我么 = =
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
novakon
15年7个月前 IP:未同步
127135
不错,难以不鸟你,现在授予93°  “XLS勋章”,以资鼓励。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
noname剑人
15年7个月前 IP:未同步
128858
厉害,结构都掌握了.难道想玩fuzz?
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
warmonkey
15年6个月前 IP:未同步
140704
有C++版的吗?要是有能在单片机上运行的更好
引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
93°作者
15年6个月前 IP:未同步
140707
引用第9楼warmonkey于2009-08-15 10:52发表的  :
有C++版的吗?要是有能在单片机上运行的更好

把XXXXXXXXX换成fputc (pia)就可以了。。。。。
引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Aromatisation
5年3个月前 IP:广东
864476
引用warmonkey发表于9楼的内容
有C++版的吗?要是有能在单片机上运行的更好

单片机?单片机要是有能操作xls的能力(我指的是8051),我还不如移植一个excel上去(即使是2003)😁

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
warmonkey
5年3个月前 IP:广东
864545
引用Aromatisation发表于11楼的内容
单片机?单片机要是有能操作xls的能力(我指的是8051),我还不如移植一个excel上去(即使是2...

arduino已经实现了一些基本的功能,没那么复杂

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Aromatisation
5年3个月前 修改于 5年3个月前 IP:广东
864561
引用warmonkey发表于12楼的内容
arduino已经实现了一些基本的功能,没那么复杂

正解

很适合做采集之类的东西

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Aromatisation
5年3个月前 IP:广东
864562

我觉得不一定要xls,可以用像csv这种纯文本的

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
大仙
4年8个月前 IP:湖南
879040
引用Aromatisation发表于13楼的内容
正解很适合做采集之类的东西

现在能做到STM32直接在内存卡里生成PDF文件,用在温湿度记录仪上面。这个文章的作者现在是CMU大佬。


引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

所属专业
上级专业
同级专业
93°
学者 笔友
文章
651
回复
6032
学术分
30
2007/04/10注册,7年0个月前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:邮箱
IP归属地:未同步
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}