55 lines
1.5 KiB
Bash
Executable File
55 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# https://docs.sheetjs.com/docs/demos/engines/rhino
|
|
|
|
cd /tmp
|
|
rm -rf sheetjs-java
|
|
mkdir -p sheetjs-java
|
|
cd sheetjs-java
|
|
|
|
curl -L -o rhino.jar https://repo1.maven.org/maven2/org/mozilla/rhino/1.7.15/rhino-1.7.15.jar
|
|
|
|
curl -LO https://cdn.sheetjs.com/xlsx-latest/package/dist/xlsx.full.min.js
|
|
curl -LO https://docs.sheetjs.com/pres.xlsx
|
|
|
|
curl -LO https://docs.sheetjs.com/rhino/SheetJSRhino.zip
|
|
unzip SheetJSRhino.zip
|
|
|
|
cat >SheetJSRhino.java <<EOF
|
|
/* sheetjs (C) 2013-present SheetJS -- https://sheetjs.com */
|
|
/* vim: set ts=2: */
|
|
import com.sheetjs.SheetJS;
|
|
import com.sheetjs.SheetJSFile;
|
|
import com.sheetjs.SheetJSSheet;
|
|
|
|
public class SheetJSRhino {
|
|
public static void main(String args[]) throws Exception {
|
|
try {
|
|
SheetJS sjs = new SheetJS();
|
|
|
|
/* open file */
|
|
SheetJSFile xl = sjs.read_file(args[0]);
|
|
|
|
/* get sheetnames */
|
|
String[] sheetnames = xl.get_sheet_names();
|
|
System.err.println(sheetnames[0]);
|
|
|
|
/* convert to CSV */
|
|
SheetJSSheet sheet = xl.get_sheet(0);
|
|
String csv = sheet.get_csv();
|
|
System.out.println(csv);
|
|
} catch(Exception e) { throw e; } finally { SheetJS.close(); }
|
|
}
|
|
}
|
|
EOF
|
|
|
|
for n in 1.8 {9..22}; do
|
|
export JAVA_HOME=`/usr/libexec/java_home -v $n`
|
|
java -version
|
|
find . -name \*.class | while read x; do rm $x; done
|
|
|
|
javac -cp ".:rhino.jar" SheetJSRhino.java
|
|
jar -cf SheetJS.jar SheetJSRhino.class com/sheetjs/*.class xlsx.full.min.js
|
|
|
|
java -cp ".:SheetJS.jar:rhino.jar" SheetJSRhino pres.xlsx
|
|
done
|