Как настроить ширину столбца с помощью параметров json2xls
В настоящее время я использую json2xls для экспорта моих запрошенных данных в формате json в файл xlsx следующим образом:
var xls = tool.json2xls(data, {order:["NAME", "OWNER_EMAIL", "GROUP", "BRAND", "DOC_CENTER_URL", "LIBRARYURL", "TOTAL_VIEWS"],
fieldMap: {NAME: "Name", OWNER_EMAIL: "Owner Email", GROUP: "Group", BRAND: "Brand", DOC_CENTER_URL: "Doc Center URL",
LIBRARYURL: "Library URL", TOTAL_VIEWS: "Total Views"}});
Я уже использую поле fieldMap для редактирования имен столбцов, которое работает хорошо, но я хочу иметь возможность редактировать ширину каждого столбца, чтобы при открытии xlsx он был хорошо отформатирован. В документах json2xls говорится, что доступны следующие варианты:
- style: XML-файл стилей, см. https://github.com/functionscope/Node-Excel-Export
- fields: либо массив, либо карта, содержащая конфигурацию поля:
- массив: список имен полей для экспорта в указанном порядке
- объект: карта имен экспортируемых полей и типов этих полей. Поддерживаемые типы: number,string, bool.
1 ответ
В документации по предоставленной вами ссылке уже есть ответ:
var conf ={};
conf.stylesXmlFile = "styles.xml";
conf.name = "mysheet";
//here you define columns data and properties:
conf.cols = [
{caption:'string',
type:'string',
beforeCellWrite:function(row, cellData){
return cellData.toUpperCase();},
//and specifically for coulumn with:
width:28.7109375}...
Обратите внимание, что в соответствии с документами единицей ширины столбца является символ, что является способом Excel для ширины столбца. (например, 20 - это ширина 20 символов, в зависимости от размера и стиля шрифта)