吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1300|回复: 6
收起左侧

[易语言 原创] 易语言+VB6,VBA/python文本表格生成,多个风格

[复制链接]
自动化软件开发 发表于 2026-5-27 13:43
本帖最后由 自动化软件开发 于 2026-5-27 13:46 编辑

易语言语法+VB6,还有PYTON代码,共3种语言
代码太多,模块在附件中,还有PYTHON代码
VB6制表符实现文字表格.png 016文字表格效果.png
[Visual Basic] 纯文本查看 复制代码
Public Function txtTable(strArr() As String, Optional alignLeft As Boolean = False) As String
    '风格3:完整边框 + 竖线 + 横线
    On Error Resume Next
    Dim rows As Integer, cols As Integer
    Dim row As Integer, col As Integer
    Dim colMax() As Integer
    Dim topLine As String, midLine As String, botLine As String
    Dim line As String, result As String
    
    rows = UBound(strArr, 1) - LBound(strArr, 1) + 1
    cols = UBound(strArr, 2) - LBound(strArr, 2) + 1
    If rows = 0 Or cols = 0 Then
        Exit Function
[mw_shl_code=python,true]def txtTable(data):
    """风格3:完整边框 + 竖线 + 横线"""
    if not data:
        return ""
    cols = len(data[0])
    col_max = [max(get_str_width(row[i]) for row in data) for i in range(cols)]
    
    top = '┌─' + '─┬─'.join(['─' * w for w in col_max]) + '─┐'
    mid = '├─' + '─┼─'.join(['─' * w for w in col_max]) + '─┤'
    bot = '└─' + '─┴─'.join(['─' * w for w in col_max]) + '─┘'
    
    lines = [top]
    for i, row in enumerate(data):
        cells = [pad_to_width(row[j], col_max[j]) for j in range(cols)]
        lines.append('│ ' + ' │ '.join(cells) + ' │')
        if i == 0:
            lines.append(mid)
    lines.append(bot)
    return '\n'.join(lines)

    End If
   
    ' 计算每列最大宽度
    ReDim colMax(1 To cols)
    For col = 1 To cols
        colMax(col) = 0
        For row = 1 To rows
            Dim w As Integer
            w = GetStrWidth(strArr(row, col))
            If w > colMax(col) Then colMax(col) = w
        Next
    Next
   
    ' 生成顶线、中线、底线
    topLine = "┌─"
    midLine = "├─"
    botLine = "└─"[/mw_shl_code]
[Visual Basic .NET] 纯文本查看 复制代码
.版本 2

.子程序 get_str_width, 整数型, , 计算字符串显示宽度:中文=2,英文/数字=1
.参数 s, 文本型
.局部变量 width, 整数型
.局部变量 i, 整数型
.局部变量 字符, 文本型
.局部变量 字符码, 整数型

width = 0
.计次循环首 (取文本长度 (s), i)
    字符 = 取文本中间 (s, i, 1)
    字符码 = 取代码 (字符, 1)
    ' 判断是否为中文(Unicode 4E00 - 9FFF)
    .如果真 (字符码 ≥ 19968 且 字符码 ≤ 40959)
        width = width + 2
    .如果真结束
    .如果真 (字符码 < 19968 或 字符码 > 40959)
        width = width + 1
    .如果真结束

.计次循环尾 ()

返回 (width)

.子程序 pad_to_width, 文本型, , 填充空格到指定宽度
.参数 文本, 文本型
.参数 目标宽度, 整数型
.局部变量 当前宽度, 整数型
.局部变量 空格数, 整数型

当前宽度 = get_str_width (文本)
空格数 = 目标宽度 - 当前宽度
.如果 (空格数 > 0)
    返回 (文本 + 取重复文本 (空格数, “ ”))
.否则
    返回 (文本)
.如果结束

.子程序 txtTable, 文本型, , 风格3:完整边框 + 竖线 + 横线
.参数 data, 文本型, 数组
.局部变量 行数, 整数型
.局部变量 列数, 整数型
.局部变量 col_max, 整数型, ,"0"
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 行, 整数型
.局部变量 顶线, 文本型
.局部变量 中线, 文本型
.局部变量 底线, 文本型
.局部变量 行内容, 文本型
.局部变量 结果, 文本型

行数 = 取数组下标 (data, 1)
.如果真 (行数 = 0)
    返回 (“”)
.如果真结束

列数 = 取数组下标 (data [1], 2)
.如果真 (列数 = 0)
    返回 (“”)
.如果真结束

' 计算每列最大宽度
重定义数组 (col_max, 假, 列数)
.计次循环首 (列数, j)
    col_max [j] = 0
    .计次循环首 (行数, i)
        .如果真 (get_str_width (data [i] [j]) > col_max [j])
            col_max [j] = get_str_width (data [i] [j])
        .如果真结束
    .计次循环尾 ()
.计次循环尾 ()

' 生成顶线 ┌─┬─┐
顶线 = “┌─”
.计次循环首 (列数, j)
    顶线 = 顶线 + 取重复文本 (col_max [j], “─”)
    .如果 (j < 列数)
        顶线 = 顶线 + “─┬─”
    .否则
        顶线 = 顶线 + “─┐”
    .如果结束
.计次循环尾 ()

' 生成中线 ├─┼─┤
中线 = “├─”
.计次循环首 (列数, j)
    中线 = 中线 + 取重复文本 (col_max [j], “─”)
    .如果 (j < 列数)
        中线 = 中线 + “─┼─”
    .否则
        中线 = 中线 + “─┤”
    .如果结束
.计次循环尾 ()

' 生成底线 └─┴─┘
底线 = “└─”
.计次循环首 (列数, j)
    底线 = 底线 + 取重复文本 (col_max [j], “─”)
    .如果 (j < 列数)
        底线 = 底线 + “─┴─”
    .否则
        底线 = 底线 + “─┘”
    .如果结束
.计次循环尾 ()

' 拼接表格
结果 = 顶线 + #换行符
.计次循环首 (行数, 行)
    行内容 = “│ ”
    .计次循环首 (列数, j)
        行内容 = 行内容 + pad_to_width (data [行] [j], col_max [j])
        .如果 (j < 列数)
            行内容 = 行内容 + “ │ ”
        .否则
            行内容 = 行内容 + “ │”
        .如果结束
    .计次循环尾 ()
    结果 = 结果 + 行内容 + #换行符

    ' 第一行后加中线(表头分隔)
    .如果 (行 = 1)
        结果 = 结果 + 中线 + #换行符
    .如果结束
.计次循环尾 ()

结果 = 结果 + 底线

返回 (结果)

3116VB6,VBA文字表格模块.zip

225.6 KB, 下载次数: 15, 下载积分: 吾爱币 -1 CB

016文字表格.zip

1.41 KB, 下载次数: 12, 下载积分: 吾爱币 -1 CB

python

免费评分

参与人数 2吾爱币 +7 热心值 +2 收起 理由
ZCN20201408 + 1 谢谢@Thanks!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 自动化软件开发 发表于 2026-5-27 22:14
SkyLeader 发表于 2026-5-27 18:52
表格能粘贴在文档里吗?感觉挺实用的

粘到WORD,记事本都可以呀
 楼主| 自动化软件开发 发表于 2026-5-27 13:52
本帖最后由 自动化软件开发 于 2026-5-27 15:27 编辑

学一下英文:赞助打赏,常用英文有几种
我觉的这3种比较合适:coffee/gift, support
结合场景、正式 / 口语、海外平台、文案
  • Buy me a coffee (海外网红经典委婉说法,下文单独讲)


二、平台专属「打赏」(海外社交 / 内容平台标配)

1. Tip / Tipping(狭义:小费、即时打赏)

专用于直播、短视频、主播、线下服务,对应国内直播打赏。

  • Tip (n./v.) 打赏、小费
    • Send a tip 送出打赏
    • Tip jar 打赏箱
    • Live tipping 直播打赏


2. Reward(奖励、悬赏打赏)

侧重 “付费奖励优质内容 / 服务”,论坛、问答、任务平台常用。

  • Reward the creator 打赏创作者

3. Gift(礼物,直播平台主流)

海外直播(Twitch、YouTube Live)把虚拟礼物称作 Gift,对应国内 “送礼物打赏”。

  • Send gifts 赠送礼物(打赏)


三、委婉文艺 / 网红梗(海外创作者最流行,含蓄不尴尬)

✅ Buy me a coffee / Buy me a tea

全球通用爆款委婉打赏文案直译:请我喝杯咖啡 → 意译:小小打赏一下衍生变体:

  • Buy me a beer 请我喝杯酒(偏休闲)
  • Buy me a snack 请我吃点小零食

配套短句:


If you like my work, buy me a coffee!喜欢我的内容,不妨小小打赏一下~


四、赞助、商业合作类(大额赞助、品牌冠名、长期资助)

区别于小额打赏,偏向商业赞助、长期扶持


  • Sponsor / Sponsorship商业赞助、冠名赞助(企业 / 个人长期赞助博主、项目、活动)
    • Become a sponsor 成为赞助人
    • Sponsorship plan 赞助方案

  • Backer / Backing众筹平台专属(Kickstarter、Indiegogo):支持者、众筹赞助
    • My backers 我的赞助支持者

  • Patron / Patronage会员制赞助(Patreon 平台专用):月度赞助、铁杆赞助
    • Become a patron 成为月度赞助会员



五、小众 / 古风 / 正式书面(极少用于普通打赏)

  • Contribution 捐资、献款(偏公益、正式文书)
  • Alms 施舍、救济金(贬义 / 宗教场景,不建议用于普通打赏)
  • Subsidy 补贴、补助(官方 / 机构补贴,不用于个人打赏)


六、场景快速选型(直接照着用)

[td]
使用场景
推荐英文
个人主页 / 博客 / 公众号 小额打赏Donate / Buy me a coffee
直播 / 短视频 即时打赏Tip / Gift
博主长期会员赞助Patron / Sponsor
委婉含蓄、不想直白提 “钱”Buy me a coffee / Support
商业合作、企业冠名赞助Sponsor / Sponsorship


七、常用按钮 / 标语短句(直接复制用)

  • Donate 【按钮】打赏 / 捐赠
  • Send Tip 送出打赏
  • Support Me 支持我
  • Buy Me a Coffee 请我喝杯咖啡(打赏)
  • Become a Patron 成为赞助会员
  • Make a Contribution 进行捐助
破凤凰 发表于 2026-5-27 15:25
表格看起来很复古。有穿越到上世纪的感觉。
 楼主| 自动化软件开发 发表于 2026-5-27 15:29
破凤凰 发表于 2026-5-27 15:25
表格看起来很复古。有穿越到上世纪的感觉。
AI比较喜欢文字,MARKDOWN,不占体积,效果拉满,要是还能支持不同颜色输出也是牛的一批了
3686碉堡了,让AI自己把旧数据读过来,竟然可以,哈.png
SkyLeader 发表于 2026-5-27 18:52
表格能粘贴在文档里吗?感觉挺实用的
HDv587 发表于 2026-6-9 15:01
xiexie,先下下试试
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-7-13 23:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表