精易论坛

标题: 超列框导出到Excel时写出“工作表表名、工作表标签颜色” [打印本页]

作者: wh1234567    时间: 2025-3-17 07:48
标题: 超列框导出到Excel时写出“工作表表名、工作表标签颜色”
易将超级列表框内容导出到Excel里时如何自动写出自定义“工作表表名”和“工作表标签颜色”?求修改代码,效果如下:
如果“工作表表名”的参数为空则默认为标题,如果标题也为空则自动为文件名,如何实现?
超级列表框导出XLS_html.e (8.99 KB, 下载次数: 6)



补充内容 (2025-3-17 07:50):
如果“工作表表名”的参数为空则默认为标题(表格上方的“测试表单”),如果标题也为空则自动为文件名,如何实现?
作者: samll88    时间: 2025-3-17 08:48
超级列表框导出XLS_html.e (11.63 KB, 下载次数: 23)

你这样写不对,我帮你改了下,颜色你自己研究下,因为我也不会

作者: wh1234567    时间: 2025-3-17 09:03
samll88 发表于 2025-3-17 08:48
你这样写不对,我帮你改了下,颜色你自己研究下,因为我也不会

您没有理解我的意思,需要在我上传源码文件的程序集1的“超级列表框导出xls”下面增加那2个参数功能代码,期待高手帮忙
作者: b0y    时间: 2025-3-17 10:20
这个导出 其实就是html得表格  excel又能读取这种格式
但是定义表名 就不是这个方法能定义的了  
作者: samll88    时间: 2025-3-17 10:40
wh1234567 发表于 2025-3-17 09:03
您没有理解我的意思,需要在我上传源码文件的程序集1的“超级列表框导出xls”下面增加那2个参数功能代码 ...

你这样写只是保存成Excel文件,想要保存的文件表名和颜色也改难度非常大,
想要控制Excel,只能用易语言组件,或者自创一个支持库
作者: wh1234567    时间: 2025-3-17 10:57
b0y 发表于 2025-3-17 10:20
这个导出 其实就是html得表格  excel又能读取这种格式
但是定义表名 就不是这个方法能定义的了   ...

理论是可以实现,你那天说行高不能实现,可我实现了,呵呵呵
作者: wh1234567    时间: 2025-3-17 10:59
b0y 发表于 2025-3-17 10:20
这个导出 其实就是html得表格  excel又能读取这种格式
但是定义表名 就不是这个方法能定义的了   ...

+ “;height:” + 标题行高 + “.1pt'>”   就是这样实现的,呵呵呵,期待老师研究一下加我说的这2个功能吧
作者: wh1234567    时间: 2025-3-17 11:38
b0y 发表于 2025-3-17 10:20
这个导出 其实就是html得表格  excel又能读取这种格式
但是定义表名 就不是这个方法能定义的了   ...

https://www.cnblogs.com/piaoyi1997/p/12620253.html
期待老师帮忙
作者: b0y    时间: 2025-3-17 12:44
wh1234567 发表于 2025-3-17 10:57
理论是可以实现,你那天说行高不能实现,可我实现了,呵呵呵

行高我试了一下 没反应  就算行高可以  那和这个表明完全是2回事  你还是换其他excel支持库导出得方法  论坛有   这个表格方法 没办法定义表名  
作者: wh1234567    时间: 2025-3-17 13:02
b0y 发表于 2025-3-17 12:44
行高我试了一下 没反应  就算行高可以  那和这个表明完全是2回事  你还是换其他excel支持库导出得方法   ...

supportTabStrip
作者: wh1234567    时间: 2025-3-17 13:03
b0y 发表于 2025-3-17 12:44
行高我试了一下 没反应  就算行高可以  那和这个表明完全是2回事  你还是换其他excel支持库导出得方法   ...

<![if !supportTabStrip]><script language="JavaScript">
<!--
function fnUpdateTabs()
{
  if (parent.window.g_iIEVer>=4) {
   if (parent.document.readyState=="complete"
    && parent.frames['frTabs'].document.readyState=="complete")
   parent.fnSetActiveSheet(0);
  else
   window.setTimeout("fnUpdateTabs();",150);
}
}

if (window.name!="frSheet")
window.location.replace("../导出26089310.xls");
else
fnUpdateTabs();
//-->

这代码是啥意思?能不能启发一下

补充内容 (2025-3-17 13:22):
https://mbd.baidu.com/newspage/d ... sourceFrom=search_a
作者: wh1234567    时间: 2025-3-17 19:55
b0y 发表于 2025-3-17 12:44
行高我试了一下 没反应  就算行高可以  那和这个表明完全是2回事  你还是换其他excel支持库导出得方法   ...

var c_rgszSh=new Array(c_lTabs);
c_rgszSh[0] = "1";
c_rgszSh[1] = "Sheet1";
c_rgszSh[2] = "Sheet2";

怎么弄?
作者: wh1234567    时间: 2025-3-17 21:00
b0y 发表于 2025-3-17 10:20
这个导出 其实就是html得表格  excel又能读取这种格式
但是定义表名 就不是这个方法能定义的了   ...

function exportTableToExcel(tableId, sheetName, sheetColor) {
  var table = document.getElementById(tableId);
  var excelApp = new ActiveXObject("Excel.Application");
  var workbook = excelApp.Workbooks.Add();
  var worksheet = workbook.Sheets(1);

  // 设置工作表标签名称
  worksheet.Name = sheetName;

  // 遍历表格行和列,将数据复制到Excel中
  for (var i = 0, row; row = table.rows; i++) {
    for (var j = 0, col; col = row.cells[j]; j++) {
      worksheet.Cells(i + 1, j + 1).Value = col.innerText;
    }
  }

  // 设置工作表标签颜色(这里使用RGB颜色代码)
  // 注意:ActiveXObject没有直接设置工作表标签颜色的方法,这里是一个简化的示例
  // 实际上,你可能需要借助Excel的VBA或其他方法来设置标签颜色
  // 下面的代码不会直接起作用,但它展示了如何设置单元格颜色的方法
  // worksheet.Range("A1").Interior.Color = RGB(255, 0, 0); // 将A1单元格背景设置为红色

  // 由于无法直接设置工作表标签颜色,这里只是演示如何保存Excel文件
  var filePath = "exported_" + sheetName + ".xlsx";
  workbook.SaveAs(filePath);
  workbook.Close();
  excelApp.Quit();

  // 可选:提示用户保存成功
  alert("Excel文件已保存为:" + filePath);
}

// 调用函数导出表格
exportTableToExcel("tableToExport", "我的工作表", "#FFFFFF"); // 注意:颜色参数在这里不起作用,仅作为示例

作者: wh1234567    时间: 2025-3-17 21:25
哪位老师能给个正确答案?
作者: wh1234567    时间: 2025-3-17 22:18
samll88 发表于 2025-3-17 08:48
你这样写不对,我帮你改了下,颜色你自己研究下,因为我也不会

https://baijiahao.baidu.com/s?id ... r=spider&for=pc

作者: wh1234567    时间: 2025-3-18 07:13
期待懂网页制作的老师帮助一下吧,
作者: samll88    时间: 2025-3-18 07:35
wh1234567 发表于 2025-3-17 22:18
https://baijiahao.baidu.com/s?id=1776572888641636503&wfr=spider&for=pc

这个同学,首先你要明白保存和控制是不同的.你写的只是把Excel的命令保存到单元,所以不是在易语言上下功夫,而是学习Excel.
比如这句:
=HYPERLINK("https://www.baidu.com","百du官网")
你在Excel的随便单元格复制进去,是不是变成百du的超链接,
但这是Excel的命令,和易语言没有一毛钱关系,易语言只是把这句话保存到了Excel里
你把Excel学塾了,自然这些命令也熟了,照着这些格式用易语言保存到Excel里,也是可以的.至少比单纯在Excel上操作快点.
易语言有自己的组件命令,有自己的体系,在易语言论坛问Excel的问题是没有结果的.
作者: wh1234567    时间: 2025-3-18 09:04
samll88 发表于 2025-3-18 07:35
这个同学,首先你要明白保存和控制是不同的.你写的只是把Excel的命令保存到单元,所以不是在易语言上下功夫 ...

明白您的意思,那么给Excel里写一段什么代码才能实现自定义工作表名称和颜色呢?
作者: TIANL    时间: 2025-3-19 03:27
看了,是可以通过你原本的思路完成,需要在开头加几行有关excel读取文件时的xml标签参数,让excel读取文件时根据标签参数定义worksheet属性,不过excel版本不同,参数格式可能不同,打开时看到的内容也可能有差别,可能需要针对每个版本的excel做适配
作者: TIANL    时间: 2025-3-19 03:29
TIANL 发表于 2025-3-19 03:27
看了,是可以通过你原本的思路完成,需要在开头加几行有关excel读取文件时的xml标签参数,让excel读取文件 ...

或者说2013版本之前的可能用不了,只能2013版本后的excel才能打开
作者: pshq123    时间: 2025-3-19 04:09

作者: wh1234567    时间: 2025-3-19 05:03
TIANL 发表于 2025-3-19 03:27
看了,是可以通过你原本的思路完成,需要在开头加几行有关excel读取文件时的xml标签参数,让excel读取文件 ...

期待老师帮忙完善一下吧
作者: TIANL    时间: 2025-3-19 15:58
wh1234567 发表于 2025-3-19 05:03
期待老师帮忙完善一下吧

方法已经告诉你了,在文件头部用xml标签参数声明
作者: wh1234567    时间: 2025-3-19 16:42
TIANL 发表于 2025-3-19 15:58
方法已经告诉你了,在文件头部用xml标签参数声明

希望老师添加代码一下我上传的代码吧,不胜感激。
作者: TIANL    时间: 2025-3-19 17:05
wh1234567 发表于 2025-3-19 16:42
希望老师添加代码一下我上传的代码吧,不胜感激。

写这种偏门的代码,5个金币哪够
作者: wh1234567    时间: 2025-3-19 19:51
TIANL 发表于 2025-3-19 17:05
写这种偏门的代码,5个金币哪够

期待帮一下吧
作者: wh1234567    时间: 2025-3-19 23:13
TIANL 发表于 2025-3-19 17:05
写这种偏门的代码,5个金币哪够

在线等老师,呵呵呵
作者: wh1234567    时间: 2025-3-20 19:04
TIANL 发表于 2025-3-19 03:29
或者说2013版本之前的可能用不了,只能2013版本后的excel才能打开

等老师给个例子,谢谢了
作者: wh1234567    时间: 2025-3-20 19:05
pshq123 发表于 2025-3-19 04:09

老师可以帮助一下吗?




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4