Php 如何在dhtmlxgrid中更改导出文件的格式?
我正在使用dhtmlxgrid显示报表的数据。我嵌入了两个导出按钮,即pdf和excel。但在导出的文件中,有些数字字段是左对齐的。我想将数字字段的对齐方式改为右侧,还想设置列的宽度(如果可能)。您可以将列类型更改为基于数字的类型(edn或ron),它将在导出到Excel时更改这些列中数据的对齐方式我必须进行大量调试和少量定制,以使列对齐方式和宽度符合我的要求。我有这个工作在生产中,但不确定它是否适合你的情况。这是在dhtmlxgrid v4.1中实现的,我使用的是Java后端Excel编写器类 在前端Php 如何在dhtmlxgrid中更改导出文件的格式?,php,css,dhtmlx,Php,Css,Dhtmlx,我正在使用dhtmlxgrid显示报表的数据。我嵌入了两个导出按钮,即pdf和excel。但在导出的文件中,有些数字字段是左对齐的。我想将数字字段的对齐方式改为右侧,还想设置列的宽度(如果可能)。您可以将列类型更改为基于数字的类型(edn或ron),它将在导出到Excel时更改这些列中数据的对齐方式我必须进行大量调试和少量定制,以使列对齐方式和宽度符合我的要求。我有这个工作在生产中,但不确定它是否适合你的情况。这是在dhtmlxgrid v4.1中实现的,我使用的是Java后端Excel编写器类
您应该在此函数中通过dhtmlxgrid_export.js进行调试:
dhtmlXGridObject.prototype._serialiseExportConfig
确保在此阵列中对齐正确:
this.cellAlign[i]
如果没有,您可能需要在创建网格时(但在加载网格之前)显式设置它们:
对于宽度,同样适用于:
grid.setInitWidths(myColWidths.join('|'));
在后端在ExcelWriter.java中,通过
headerPrint(ExcelXmlParser parser)
并确保您的路线通过此处:
String al = cells[j].getAlign();
列宽度也在同一功能中设置。我做了一些定制,因为看起来尺寸不可比:
sheet.setColumnView(j, (int)(widths[j]/6.53)); // I replaced "*scale/sumWidth" with /6.53, which is a strange num, but it works! ;
我尝试过这个方法,它将数据向右对齐。但是当我应用mygrid.setNumberFormat(“0000.0”,2)。。。它再次回到左边。因为我认为它将1220,00.00(带逗号的数据)视为字符串,并将其向左对齐。
sheet.setColumnView(j, (int)(widths[j]/6.53)); // I replaced "*scale/sumWidth" with /6.53, which is a strange num, but it works! ;