feat: scripts
This commit is contained in:
53
scripts/convertcsv2xls.js
Normal file
53
scripts/convertcsv2xls.js
Normal file
@@ -0,0 +1,53 @@
|
||||
#! /usr/bin/env runjs
|
||||
|
||||
requireJAR('commons-csv-1.4.jar');
|
||||
requireJAR('poi-3.15.jar');
|
||||
|
||||
var FileOutputStream = java.io.FileOutputStream;
|
||||
var StringUtil = Packages.me.hatter.tools.commons.string.StringUtil;
|
||||
var CSVParser = Packages.org.apache.commons.csv.CSVParser;
|
||||
var CSVFormat = Packages.org.apache.commons.csv.CSVFormat;
|
||||
var HSSFWorkbook = Packages.org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
var HSSFSheet = Packages.org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
var HSSFRow = Packages.org.apache.poi.hssf.usermodel.HSSFRow;
|
||||
var HSSFCell = Packages.org.apache.poi.hssf.usermodel.HSSFCell;
|
||||
var Cell = Packages.org.apache.poi.ss.usermodel.Cell;
|
||||
|
||||
var main = () => {
|
||||
if ($ARGS == null || $ARGS.length == 0) {
|
||||
println('convertcsv2xls.js - Convert CSV to Excel.')
|
||||
println();
|
||||
println('ERROR: NO arguments assigned!');
|
||||
println('convertcsv2xls.js filename.csv [filename.xls]');
|
||||
return;
|
||||
}
|
||||
var csvFile = $$.file($ARGS[0]);
|
||||
if (!csvFile.exists()) {
|
||||
println('[ERROR] File not exists: ' + $ARGS[0]);
|
||||
return;
|
||||
}
|
||||
|
||||
var xlsFile = ($ARGS.length > 1)? $ARGS[1]: (StringUtil.substringBeforeLast(csvFile.getName(), '.') || csvFile.getName()) + '.xls';
|
||||
|
||||
var book = new HSSFWorkbook();
|
||||
var sheet = book.createSheet('new sheet');
|
||||
|
||||
println('Read CSV file: ' + csvFile);
|
||||
var parser = CSVParser.parse(csvFile, $$.charset('UTF-8'), CSVFormat.EXCEL);
|
||||
$EACH(parser, (record, index) => {
|
||||
println('Write excel row: ' + index);
|
||||
var row = sheet.createRow(index);
|
||||
$EACH(record, (item, cellIndex) => {
|
||||
var cell = row.createCell(cellIndex);
|
||||
cell.setCellType(Cell.CELL_TYPE_STRING);
|
||||
cell.setCellValue($$.str(item));
|
||||
});
|
||||
});
|
||||
|
||||
println('Write excel file: ' + xlsFile);
|
||||
var fout = new FileOutputStream(xlsFile);
|
||||
book.write(fout);
|
||||
fout.close();
|
||||
};
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user