vlistEx+com.excel读取表格的问题2025-8-8

zhhyit 6天前 156

表格数据如下

代码如下

import win.ui;
import com.excel;
import godking.vlistEx;
/*DSG{{*/
var mainForm = win.form(text="表格测试";right=438;bottom=487)
mainForm.add(
vlist={cls="vlistEx";left=9;top=17;right=434;bottom=445;ah=1;aw=1;border=1;db=1;dl=1;dr=1;dt=1;z=1}
)
/*}}*/

var excel,err = com.excel(); 
excel.alerts = false; //关闭界面提示与屏幕更新
var book = excel.Open( "D:\test.xlsx" );
var sheet = excel.ActiveWorkbook.Sheets(1);
var t ={"序号","水果","重量","备注"};
var tt ={};
tt = sheet.Range("A1:D10").Value2;
mainForm.vlist.setTable(tt,table.remove(tt),{scale =true,5,5,5,10},1);
excel.Quit(); //退出

mainForm.show();
win.loopMessage();

输出结果

如果把源表格数据的表头改为

输出结果为

这是为啥呢



最新回复 (6)
  • 光庆 6天前
    0 2
    将数值888转为文本“888”。或者升级虚表库到新版本,新版本进行了自动转换。
  • zhhyit 6天前
    0 3

    将数值888转为文本“888”,这是要咋处理

    //修改这段代码,咋改能自动转换成文本格式的数值?
    tt = sheet.Range("A1:D10").Value2;

    我改了Excel表格888单元格的文本格式确实可以了

    把表格里的888改成了‘888,文本类型

  • zhhyit 6天前
    0 4
    光庆 将数值888转为文本“888”。或者升级虚表库到新版本,新版本进行了自动转换。

    最新的虚表库到新版本确实可以

  • 近我者赤 6天前
    0 5
    mainForm.adjust = function( cx,cy,wParam ) {
        var ww=mainForm.vlist.width;
        mainForm.vlist.setColumnWidth(,{scale =true,50/ww,50/ww,50/ww,1-150/ww},1); //可保持前几列固定列宽,只最后一列可调 
     };


  • 光庆 5天前
    1 6
    近我者赤 mainForm.adjust = function( cx,cy,wParam ) { &nbsp ...
    mainForm.vlist.setColumnWidth(,{50,50,50,-1}); //可保持前几列固定列宽,只最后一列可调


  • 近我者赤 5天前
    0 7
    光庆 mainForm.vlist.setColumnWidth(,{50,50,50,-1}); //可保持前几列固定列宽,只最后一列可调
    原来还可以这么简单
返回