Я пытаюсь записать некоторые данные в файл xlsx, используя apache poi. и мой код выглядит так
В листе Excel уже есть 6 строк и 2 столбца
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class excelwrite {
public void excelWrite(String filepath, String filename, String
sheetname, String[] dataTowrite) throws IOException
{
File file = new File(filepath+"\\"+filename);
FileInputStream inputstream = new FileInputStream(file);
Workbook workbook = null;
String fileextensionname =
filename.substring(filename.indexOf(".")+1);
if(fileextensionname.equalsIgnoreCase("xlsx"))
workbook = new XSSFWorkbook(inputstream);
else
workbook = new HSSFWorkbook(inputstream);
Sheet sheet = workbook.getSheet(sheetname);
int Rowcount = sheet.getFirstRowNum() - sheet.getLastRowNum();
Row row = sheet.getRow(0);
Row newrow = sheet.createRow(Rowcount+1);
for(int i=0;i<row.getLastCellNum();i++)
{
Cell cell = newrow.createCell(i);
cell.setCellValue(dataTowrite[i]);
}
inputstream.close();
FileOutputStream outputstream = new FileOutputStream(file);
workbook.write(outputstream);
outputstream.close();
}
public static void main(String[] args) throws IOException {
excelwrite write = new excelwrite();
String[] datatowrite = {"Mr. E","DURGAPUR"};
String filepath = "C:\\Users\\malfoy\\Desktop";
write.excelWrite(filepath,"testfile.xlsx","read",datatowrite);
}
}
Теперь во время работы программы возникает исключение, которое говорит: «Неверный номер строки (-4) вне допустимого диапазона (0..1048575) ". Как это исправить?