feat: scripts

This commit is contained in:
2025-04-05 16:57:26 +08:00
parent bd4fe63cdc
commit 3e996ffab3
62 changed files with 4905 additions and 0 deletions

53
scripts/convertcsv2xls.js Normal file
View 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();