您可以直接参考下文中的代码,然后导入Excel文件,列宽将会是200px。
但实际上这并不是正确的方法,因为之前的模板文件中,列宽并不是200px:
1、如果想直接导入之前的模板文件,并且希望列宽为200px,则应该运行代码
GC.Spread.Excel.IO.registerMaxDigitWidth("sans-serif", 11, 9);
2、但实际上第三个参数 9 在Windows环境下是不正确的,应该是8。
因为通过Math.floor(72 / 8.38)计算,列宽为178px(在windows环境下打开模板文件,列宽显示为178px,导入Excel文件,SpreadJS的列宽应与Excel相同)。
3、列宽从200px变为178px是因为在导出Excel文件时,没有注册“sans-serif”的maxDigitWidth,浏览器自动计算出maxDigitWidth为9。
换句话说,您给出的Excel文件中的列宽计算并不正确。如果用户希望保证Excel文件和SpreadJS中的列宽保持一致,并且在导入和导出时不会改变,则应将“sans-serif”的maxDigitWidth注册为8,然后重新导出一个具有正确列宽的新 Excel 文件。 |