开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: sw3425369
收起左侧

[易语言成品模块] 写出excel表格全为文本格式数据模块,证件号不科学计数

[复制链接]
结帖率:100% (1/1)
发表于 2022-2-4 14:14:26 | 显示全部楼层   广东省江门市
感谢分享啊
回复 支持 反对

使用道具 举报

签到天数: 3 天

发表于 2022-1-23 15:29:25 | 显示全部楼层   安徽省芜湖市
加油加油加油加油
回复 支持 反对

使用道具 举报

发表于 2022-1-23 14:48:10 | 显示全部楼层   吉林省长春市
谢谢。。。。。。。。。。。
回复 支持 反对

使用道具 举报

结帖率:78% (14/18)
 楼主| 发表于 2022-1-18 08:59:58 | 显示全部楼层   辽宁省大连市
本帖最后由 sw3425369 于 2022-1-18 09:46 编辑
  
子程序名返回值类型公开备 注
超级列表框_Excel逻辑型 把超级列表框内容导出为Excel表格文件,成功返回真,失败返回假。注:只能导出报表列表框。全文本格式,身份证不变形
参数名类 型参考可空数组备 注
列表句柄整数型需要导出内容的超级列表框句柄,如果此列表框行数和列数都小于1,则不会执行导出操作。
保存文件文本型保存到目标文件,后缀名一般为“xls”。注:如果文件已存在则会重写改文件,如果不能打开文件则返回假。
保留表头逻辑型是否把超级列表框表头一起导出到表格文件,如果不需要导出表头,请留空此值或者赋值“假”。
变量名类 型静态数组备 注
Excel整数型 
Header整数型 
列数整数型 
行数整数型 
列索引整数型 
表项索引整数型 
LVCOLUMNLVCOLUMN 
LVITEMLVITEM 
Pointer整数型 
Header = SendMessage (列表句柄, 4127, 0, 0)
列数 = SendMessage (Header, 4608, 0, 0)
行数 = SendMessage (列表句柄, 4100, 0, 0)
如果真 (行数 < 1 列数 < 1)  ' 全无内容,别浪费磁盘空间
返回 ()
Excel = 打开文件 (保存文件, #重写, #无限制 )
' 本源码来自易语言资源网([url]www.eyuyan.la[/url])
如果真 (Excel = 0)
返回 ()
移到文件首 (Excel)
写文本行 (Excel, #Table_头部 )
如果真 (保留表头 = 列数 > 0)
写文本行 (Excel, “  <tr>”)
列索引 = 0
计次循环首 (列数, )
LVCOLUMN.mask = 4
LVCOLUMN.cchTextMax = 260
LVCOLUMN.pszText = 取空白文本 (260)
Pointer = GetPt_LVCOLUMN (LVCOLUMN, LVCOLUMN, 0)
如果真 (SendMessage (列表句柄, 4121, 列索引, Pointer) = 0)  ' 取标题失败
关闭文件 (Excel)
返回 ()
写文本行 (Excel, “    <th class=”#引号“xl65”#引号“  x:str>” + LVCOLUMN.pszText + “</th>”)
列索引 = 列索引 + 1
计次循环尾 ()
写文本行 (Excel, “  </tr>”)
如果真 (行数 > 0)
' 本源码来自易语言资源网([url]www.eyuyan.la[/url])
表项索引 = 0
计次循环首 (行数, )
写文本行 (Excel, “  <tr>”)
列索引 = 0
计次循环首 (列数, )
LVITEM.mask = 1
LVITEM.iItem = 表项索引  ' 项目
LVITEM.iSubItem = 列索引  ' 子项目
LVITEM.cchTextMax = 260
LVITEM.pszText = 取空白文本 (260)
Pointer = GetPt_LVITEM (LVITEM, LVITEM, 0)
如果真 (SendMessage (列表句柄, 4101, 0, Pointer) = 0)  ' 取标题失败
关闭文件 (Excel)
返回 ()
写文本行 (Excel, “    <td class=”#引号“xl68”#引号“ x:str>” + LVITEM.pszText + “</td>”)
列索引 = 列索引 + 1
计次循环尾 ()
' 本源码来自易语言资源网([url]www.eyuyan.la[/url])
写文本行 (Excel, “  </tr>”)
表项索引 = 表项索引 + 1
计次循环尾 ()
写文本行 (Excel, #Table_尾部 )
关闭文件 (Excel)
返回 ()



常量头部
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
  <meta name="ProgId" content="Excel.Sheet"/>
  <meta name="Generator" content="WPS Office ET"/>

  <style>

.xl65
        {mso-style-parent:style0;
        text-align:center;
        white-space:normal;
        font-weight:700;
        mso-font-charset:134;
        border:.5pt solid windowtext;}

.xl68
        {mso-style-parent:style0;
        mso-number-format:"\@";
        white-space:normal;
        mso-font-charset:134;
        border:.5pt solid windowtext;}
-->  </style>
  <!--[if gte mso 9]>
   <xml>
    <x:ExcelWorkbook>
     <x:ExcelWorksheets>
      <x:ExcelWorksheet>
       <x:Name>sheet0</x:Name>
       <x:WorksheetOptions>
        <x:DefaultRowHeight>270</x:DefaultRowHeight>
        <x:Selected/>
        <x:Panes>
         <x:Pane>
          <x:Number>3</x:Number>
          <x:ActiveCol>17</x:ActiveCol>
          <x:ActiveRow>1</x:ActiveRow>
          <x:RangeSelection>R2</x:RangeSelection>
         </x:Pane>
        </x:Panes>
        <x:DoNotDisplayGridlines/>
        <x:ProtectContents>False</x:ProtectContents>
        <x:ProtectObjects>False</x:ProtectObjects>
        <x:ProtectScenarios>False</x:ProtectScenarios>
        <x:PageBreakZoom>100</x:PageBreakZoom>
        <x:Print>
         <x:PaperSizeIndex>9</x:PaperSizeIndex>
        </x:Print>
       </x:WorksheetOptions>
      </x:ExcelWorksheet>
     </x:ExcelWorksheets>
     <x:ProtectStructure>False</x:ProtectStructure>
     <x:ProtectWindows>False</x:ProtectWindows>
     <x:SelectedSheets>0</x:SelectedSheets>
     <x:WindowHeight>12465</x:WindowHeight>
     <x:WindowWidth>-27136</x:WindowWidth>
    </x:ExcelWorkbook>
   </xml>
  <![endif]-->
</head>
<body link="blue" vlink="purple">
  <table width="1785" border="0" cellpadding="0" cellspacing="0" style='width:1338.75pt;border-collapse:collapse;table-layout:fixed;'>

常量尾部
</table>
</body>
</html>

回复 支持 反对

使用道具 举报

结帖率:78% (14/18)
 楼主| 发表于 2022-1-18 08:58:11 | 显示全部楼层   辽宁省大连市
李泽勇2 发表于 2022-1-17 21:06
https://bbs.125.la/forum.php?mod=viewthread&tid=14708838

这个试试看。

我的代码已经发,导出肯定不如我啊,什么都不需要
回复 支持 反对

使用道具 举报

结帖率:78% (14/18)
 楼主| 发表于 2022-1-18 08:57:09 | 显示全部楼层   辽宁省大连市
李泽勇2 发表于 2022-1-17 21:06
https://bbs.125.la/forum.php?mod=viewthread&tid=14708838

这个试试看。

试了一下,导入不敢说导出肯定不如我
.版本 2

.子程序 超级列表框_Excel, 逻辑型, 公开, 把超级列表框内容导出为Excel表格文件,成功返回真,失败返回假。注:只能导出报表列表框。全文本格式,身份证不变形
.参数 列表句柄, 整数型, , 需要导出内容的超级列表框句柄,如果此列表框行数和列数都小于1,则不会执行导出操作。
.参数 保存文件, 文本型, , 保存到目标文件,后缀名一般为“xls”。注:如果文件已存在则会重写改文件,如果不能打开文件则返回假。
.参数 保留表头, 逻辑型, , 是否把超级列表框表头一起导出到表格文件,如果不需要导出表头,请留空此值或者赋值“假”。
.局部变量 Excel, 整数型
.局部变量 Header, 整数型
.局部变量 列数, 整数型
.局部变量 行数, 整数型
.局部变量 列索引, 整数型
.局部变量 表项索引, 整数型
.局部变量 LVCOLUMN, LVCOLUMN
.局部变量 LVITEM, LVITEM
.局部变量 Pointer, 整数型

Header = SendMessage (列表句柄, 4127, 0, 0)
列数 = SendMessage (Header, 4608, 0, 0)
行数 = SendMessage (列表句柄, 4100, 0, 0)
.如果真 (行数 < 1 且 列数 < 1)  ' 全无内容,别浪费磁盘空间
    返回 (假)
.如果真结束
Excel = 打开文件 (保存文件, #重写, #无限制)
' 本源码来自易语言资源网(www.eyuyan.la)
.如果真 (Excel = 0)
    返回 (假)
.如果真结束
移到文件首 (Excel)
写文本行 (Excel, #Table_头部)
.如果真 (保留表头 = 真 且 列数 > 0)
    写文本行 (Excel, “  <tr>”)
    列索引 = 0
    .计次循环首 (列数, )
        LVCOLUMN.mask = 4
        LVCOLUMN.cchTextMax = 260
        LVCOLUMN.pszText = 取空白文本 (260)
        Pointer = GetPt_LVCOLUMN (LVCOLUMN, LVCOLUMN, 0)
        .如果真 (SendMessage (列表句柄, 4121, 列索引, Pointer) = 0)  ' 取标题失败
            关闭文件 (Excel)
            返回 (假)
        .如果真结束
        写文本行 (Excel, “    <th class=” + #引号 + “xl65” + #引号 + “  x:str>” + LVCOLUMN.pszText + “</th>”)
        列索引 = 列索引 + 1
    .计次循环尾 ()
    写文本行 (Excel, “  </tr>”)
.如果真结束
.如果真 (行数 > 0)
    ' 本源码来自易语言资源网(www.eyuyan.la)
    表项索引 = 0
    .计次循环首 (行数, )
        写文本行 (Excel, “  <tr>”)
        列索引 = 0
        .计次循环首 (列数, )
            LVITEM.mask = 1
            LVITEM.iItem = 表项索引  ' 项目
            LVITEM.iSubItem = 列索引  ' 子项目
            LVITEM.cchTextMax = 260
            LVITEM.pszText = 取空白文本 (260)
            Pointer = GetPt_LVITEM (LVITEM, LVITEM, 0)
            .如果真 (SendMessage (列表句柄, 4101, 0, Pointer) = 0)  ' 取标题失败
                关闭文件 (Excel)
                返回 (假)
            .如果真结束
            写文本行 (Excel, “    <td class=” + #引号 + “xl68” + #引号 + “ x:str>” + LVITEM.pszText + “</td>”)
            列索引 = 列索引 + 1
        .计次循环尾 ()
        ' 本源码来自易语言资源网(www.eyuyan.la)
        写文本行 (Excel, “  </tr>”)
        表项索引 = 表项索引 + 1
    .计次循环尾 ()
.如果真结束
写文本行 (Excel, #Table_尾部)
关闭文件 (Excel)
返回 (真)
   



'下面是常量头部
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
  <meta name="ProgId" content="Excel.Sheet"/>
  <meta name="Generator" content="WPS Office ET"/>

  <style>

.xl65
        {mso-style-parent:style0;
        text-align:center;
        white-space:normal;
        font-weight:700;
        mso-font-charset:134;
        border:.5pt solid windowtext;}

.xl68
        {mso-style-parent:style0;
        mso-number-format:"\@";
        white-space:normal;
        mso-font-charset:134;
        border:.5pt solid windowtext;}
-->  </style>
  <!--[if gte mso 9]>
   <xml>
    <x:ExcelWorkbook>
     <x:ExcelWorksheets>
      <x:ExcelWorksheet>
       <x:Name>sheet0</x:Name>
       <x:WorksheetOptions>
        <x:DefaultRowHeight>270</x:DefaultRowHeight>
        <x:Selected/>
        <x:Panes>
         <x:Pane>
          <x:Number>3</x:Number>
          <x:ActiveCol>17</x:ActiveCol>
          <x:ActiveRow>1</x:ActiveRow>
          <x:RangeSelection>R2</x:RangeSelection>
         </x:Pane>
        </x:Panes>
        <x:DoNotDisplayGridlines/>
        <x:ProtectContents>False</x:ProtectContents>
        <x:ProtectObjects>False</x:ProtectObjects>
        <x:ProtectScenarios>False</x:ProtectScenarios>
        <x:PageBreakZoom>100</x:PageBreakZoom>
        <x:Print>
         <x:PaperSizeIndex>9</x:PaperSizeIndex>
        </x:Print>
       </x:WorksheetOptions>
      </x:ExcelWorksheet>
     </x:ExcelWorksheets>
     <x:ProtectStructure>False</x:ProtectStructure>
     <x:ProtectWindows>False</x:ProtectWindows>
     <x:SelectedSheets>0</x:SelectedSheets>
     <x:WindowHeight>12465</x:WindowHeight>
     <x:WindowWidth>-27136</x:WindowWidth>
    </x:ExcelWorkbook>
   </xml>
  <![endif]-->
</head>
<body link="blue" vlink="purple">
  <table width="1785" border="0" cellpadding="0" cellspacing="0" style='width:1338.75pt;border-collapse:collapse;table-layout:fixed;'>



'下面是常量尾部
</table>
</body>
</html>
''命名格式xls
回复 支持 反对

使用道具 举报

结帖率:95% (42/44)

签到天数: 15 天

发表于 2022-1-17 21:06:59 | 显示全部楼层   湖北省荆门市
sw3425369 发表于 2022-1-17 17:17
你导出一个长数字和日期2021-01-01就看出区别了

https://bbs.125.la/forum.php?mod=viewthread&tid=14708838

这个试试看。
回复 支持 反对

使用道具 举报

结帖率:78% (14/18)
 楼主| 发表于 2022-1-17 17:17:45 | 显示全部楼层   辽宁省大连市
李泽勇2 发表于 2022-1-17 13:50
你这个EXCEL导出程序在精易模块里面可以找到。

你导出一个长数字和日期2021-01-01就看出区别了
回复 支持 反对

使用道具 举报

结帖率:95% (42/44)

签到天数: 15 天

发表于 2022-1-17 13:50:20 | 显示全部楼层   湖北省荆门市
你这个EXCEL导出程序在精易模块里面可以找到。
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)

签到天数: 4 天

发表于 2022-1-14 14:58:20 | 显示全部楼层   广东省中山市
可惜不是源码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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