Regalamiunsorriso/rus/WEB-INF/lib/jxl_src/jxl/demo/Demo.java

198 lines
6.9 KiB
Java
Raw Normal View History

2026-03-14 20:04:39 +01:00
package jxl.demo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import jxl.Cell;
import jxl.Range;
import jxl.Workbook;
import jxl.common.Logger;
public class Demo {
private static final int CSVFormat = 13;
private static final int XMLFormat = 14;
private static Logger logger = Logger.getLogger(Demo.class);
private static void displayHelp() {
System.err.println("Command format: Demo [-unicode] [-csv] [-hide] excelfile");
System.err.println(" Demo -xml [-format] excelfile");
System.err.println(" Demo -readwrite|-rw excelfile output");
System.err.println(" Demo -biffdump | -bd | -wa | -write | -formulas | -features | -escher | -escherdg excelfile");
System.err.println(" Demo -ps excelfile [property] [output]");
System.err.println(" Demo -version | -logtest | -h | -help");
}
public static void main(String[] args) {
if (args.length == 0) {
displayHelp();
System.exit(1);
}
if (args[0].equals("-help") || args[0].equals("-h")) {
displayHelp();
System.exit(1);
}
if (args[0].equals("-version")) {
System.out.println("v" + Workbook.getVersion());
System.exit(0);
}
if (args[0].equals("-logtest")) {
logger.debug("A sample \"debug\" message");
logger.info("A sample \"info\" message");
logger.warn("A sample \"warning\" message");
logger.error("A sample \"error\" message");
logger.fatal("A sample \"fatal\" message");
System.exit(0);
}
boolean write = false;
boolean readwrite = false;
boolean formulas = false;
boolean biffdump = false;
boolean jxlversion = false;
boolean propertysets = false;
boolean features = false;
boolean escher = false;
boolean escherdg = false;
String file = args[0];
String outputFile = null;
String propertySet = null;
if (args[0].equals("-write")) {
write = true;
file = args[1];
} else if (args[0].equals("-formulas")) {
formulas = true;
file = args[1];
} else if (args[0].equals("-features")) {
features = true;
file = args[1];
} else if (args[0].equals("-escher")) {
escher = true;
file = args[1];
} else if (args[0].equals("-escherdg")) {
escherdg = true;
file = args[1];
} else if (args[0].equals("-biffdump") || args[0].equals("-bd")) {
biffdump = true;
file = args[1];
} else if (args[0].equals("-wa")) {
jxlversion = true;
file = args[1];
} else if (args[0].equals("-ps")) {
propertysets = true;
file = args[1];
if (args.length > 2)
propertySet = args[2];
if (args.length == 4)
outputFile = args[3];
} else if (args[0].equals("-readwrite") || args[0].equals("-rw")) {
readwrite = true;
file = args[1];
outputFile = args[2];
} else {
file = args[args.length - 1];
}
String encoding = "UTF8";
int format = 13;
boolean formatInfo = false;
boolean hideCells = false;
if (!write && !readwrite && !formulas && !biffdump && !jxlversion && !propertysets && !features && !escher && !escherdg)
for (int i = 0; i < args.length - 1; i++) {
if (args[i].equals("-unicode")) {
encoding = "UnicodeBig";
} else if (args[i].equals("-xml")) {
format = 14;
} else if (args[i].equals("-csv")) {
format = 13;
} else if (args[i].equals("-format")) {
formatInfo = true;
} else if (args[i].equals("-hide")) {
hideCells = true;
} else {
System.err.println("Command format: CSV [-unicode] [-xml|-csv] excelfile");
System.exit(1);
}
}
try {
if (write) {
Write w = new Write(file);
w.write();
} else if (readwrite) {
ReadWrite rw = new ReadWrite(file, outputFile);
rw.readWrite();
} else if (formulas) {
Workbook w = Workbook.getWorkbook(new File(file));
Formulas f = new Formulas(w, System.out, encoding);
w.close();
} else if (features) {
Workbook w = Workbook.getWorkbook(new File(file));
Features f = new Features(w, System.out, encoding);
w.close();
} else if (escher) {
Workbook w = Workbook.getWorkbook(new File(file));
Escher f = new Escher(w, System.out, encoding);
w.close();
} else if (escherdg) {
Workbook w = Workbook.getWorkbook(new File(file));
EscherDrawingGroup f = new EscherDrawingGroup(w, System.out, encoding);
w.close();
} else if (biffdump) {
BiffDump bd = new BiffDump(new File(file), System.out);
} else if (jxlversion) {
WriteAccess bd = new WriteAccess(new File(file));
} else if (propertysets) {
OutputStream os = System.out;
if (outputFile != null)
os = new FileOutputStream(outputFile);
PropertySetsReader psr = new PropertySetsReader(new File(file), propertySet, os);
} else {
Workbook w = Workbook.getWorkbook(new File(file));
if (format == 13) {
CSV csv = new CSV(w, System.out, encoding, hideCells);
} else if (format == 14) {
XML xml = new XML(w, System.out, encoding, formatInfo);
}
w.close();
}
} catch (Throwable t) {
System.out.println(t.toString());
t.printStackTrace();
}
}
private static void findTest(Workbook w) {
logger.info("Find test");
Cell c = w.findCellByName("named1");
if (c != null)
logger.info("named1 contents: " + c.getContents());
c = w.findCellByName("named2");
if (c != null)
logger.info("named2 contents: " + c.getContents());
c = w.findCellByName("namedrange");
if (c != null)
logger.info("named2 contents: " + c.getContents());
Range[] range = w.findByName("namedrange");
if (range != null) {
c = range[0].getTopLeft();
logger.info("namedrange top left contents: " + c.getContents());
c = range[0].getBottomRight();
logger.info("namedrange bottom right contents: " + c.getContents());
}
range = w.findByName("nonadjacentrange");
if (range != null)
for (int i = 0; i < range.length; i++) {
c = range[i].getTopLeft();
logger.info("nonadjacent top left contents: " + c.getContents());
c = range[i].getBottomRight();
logger.info("nonadjacent bottom right contents: " + c.getContents());
}
range = w.findByName("horizontalnonadjacentrange");
if (range != null)
for (int i = 0; i < range.length; i++) {
c = range[i].getTopLeft();
logger.info("horizontalnonadjacent top left contents: " + c.getContents());
c = range[i].getBottomRight();
logger.info("horizontalnonadjacent bottom right contents: " + c.getContents());
}
}
}