Php 如何在dhtmlxgrid中更改导出文件的格式?

Php 如何在dhtmlxgrid中更改导出文件的格式?,php,css,dhtmlx,Php,Css,Dhtmlx,我正在使用dhtmlxgrid显示报表的数据。我嵌入了两个导出按钮,即pdf和excel。但在导出的文件中,有些数字字段是左对齐的。我想将数字字段的对齐方式改为右侧,还想设置列的宽度(如果可能)。您可以将列类型更改为基于数字的类型(edn或ron),它将在导出到Excel时更改这些列中数据的对齐方式我必须进行大量调试和少量定制,以使列对齐方式和宽度符合我的要求。我有这个工作在生产中,但不确定它是否适合你的情况。这是在dhtmlxgrid v4.1中实现的,我使用的是Java后端Excel编写器类

我正在使用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! ;