Преобразование данных файла excel / csv в строку - PullRequest
0 голосов
/ 04 августа 2020

Как читать данные объекта рабочей книги excel / csv в виде строки.

String fileData;
Workbook workbook = new XSSFWorkbook();
workbook.write(fileData);
System.out.println(fileData);

Я не хочу использовать зависимость файлового serer в моей программе .. Так есть ли способ напрямую записать содержимое в строковую переменную ..

1 Ответ

0 голосов
/ 04 августа 2020

Если вы используете org. apache .poi , то вы можете записать Workbook в String следующим образом:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos);
workbook.close();
String output = new String(baos.toByteArray(), Charset.defaultCharset());

Однако строка output будет содержать случайные символы, потому что рабочая книга записывает двоичный файл, который не является обычным текстом.

Таким образом, лучший подход - прочитать Workbook строка за строкой и сохранить содержимое в StringBuilder для пример:

StringBuilder sb = new StringBuilder();
for(Row r : workbook.getSheet("MySheet")){
    for (Cell c : r) {
        // Assuming the type of the cell is String
        sb.append(c.getStringCellValue()+" ");
    }
    sb.append("\n");
}
String result = sb.toString();

Строка result будет содержать содержимое Workbook.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...