Я пытаюсь создать класс для чтения файла XLSX при загрузке его на веб-сайт.
У меня есть код для загрузки файла на сервер. Файл можно загрузить, но он не может получить данные из Excel.
Могу ли я узнать, как решить или изменить этот код, чтобы данные можно было увидеть в Интернете?
Я знаю. есть несколько других повторяющихся вопросов, но после попытки эти ответы не могут работать для меня.
Если я удалю строку public static void... , я получу эту ошибку: Пакет должен содержать часть типа контента [M1.13]
public HashMap getConstructJXLList_xlsx(UploadedFile File, int Sheetindex) {
String _LOC = "[PageCodeBase: getConstructJXLList_xlsx]";
HashMap _m = new HashMap();
return _m;
}
//InputStream _is = null;
public static void main(String[] args)
{
try {
FileInputStream input = new FileInputStream(new File("C:\\Users\\admin\\Desktop\\Load_AcctCntr_Template.xlsx"));
org.apache.poi.ss.usermodel.Workbook wb = WorkbookFactory.create(input);
org.apache.poi.ss.usermodel.Sheet s = wb.getSheetAt(0);
Iterator<Row> rows = s.rowIterator();
while (rows.hasNext())
{
Row row = rows.next();
Iterator cells = row.cellIterator();
while (cells.hasNext())
{
XSSFCell cell = (XSSFCell) cells.next();
if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING)
{
System.out.print(cell.getStringCellValue() + "t");
}
else if(cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC)
{
System.out.print(cell.getNumericCellValue() + "t");
}
else if(cell.CELL_TYPE_BLANK==cell.getCellType())
System.out.print( "BLANK " );
else
System.out.print("Unknown cell type");
}
input.close();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
Если я просто запущу основной метод, описанный выше, это будет вывод:
0000002b SystemOut O [RedirectLogin: requiredRights]1.0en1102.xhtml
0000002b SystemOut O [En1102: doEn1102_command_readfileAction]1.0
0000002b SystemOut O [En1102 : onPageLoadBegin]1.0
кажется, сервер даже не прогнал этот код выше..
Я могу просто загрузить шаблон Excel на веб-сайте, и он будет сохранен на моем рабочем столе. Файл будет содержать заголовок заголовка, и я могу ввести в ячейки любые данные, которые захочу.
HashMap _m = new HashMap();
_m.put("x1", "y1");
_m.put("x2", "x2");
return _m;
Затем попробуйте еще раз, пожалуйста, и прокомментируйте, если вы видите что-то на своем веб-сайте после загрузки или нет. - person ithofm   schedule 22.05.2014