プロジェクトの構造
コード:
public class WriterXlsx {
public WriterXlsx(String sfilename, List<RecordNameCode> records, List<Day> recordsDay, Integer fullTime) {
String path = "res/" + sfilename + ".xlsx";
URL resURL = getClass().getClassLoader().getResource(path);
try (InputStream inputStream = resURL.openStream())
{
int lastUsedColumn = createListHead().size();
XSSFWorkbook workBook = new XSSFWorkbook(inputStream);
XSSFSheet sheet = workBook.getSheetAt(0);
drawRecordHead(createListHead(),sheet);
writeContent(2, records,sheet);
createPlanForDay(recordsDay,fullTime,lastUsedColumn,sheet,workBook);
try(FileOutputStream out = new FileOutputStream("C:\\Users\\student3\\"+sfilename+".xlsx"); ) {
workBook.write(out);
out.close(); }
} catch (IOException e) {
e.printStackTrace();
}
プログラムは SfileName に書き込み、res\
IDE(Intellij IDEA) のファイルから読み取りますが、独立して動作しません。.jar アーカイブでプログラムを起動できません。(おそらく res ディレクトリが見つからない)..
マニフェスト:
Manifest-Version: 1.0
Main-Class: workhere.Start
クラス開始:
public class Start {
public static void main(String[] args) {
System.out.println("It's working");
new Start().start(countDays);
System.out.println("Work is finished");
}
........