Как создавать или читать документы Excel в Java
Программный доступ к документам Excel открывает целый мир возможностей. Будь то разработчик, создающий приложение для работы с данными, специалист по анализу данных, анализирующий большие массивы данных, или энтузиаст автоматизации, оптимизирующий бизнес-процессы, возможность программного взаимодействия с Excel является невероятно ценной. В этой статье я расскажу о том, как создать или прочитать документ Excel на Java с помощью Free Spire.XLS for Java.
Установка файла Free Spire.Xls.jar
Если вы создали
Maven-проект, вы можете легко импортировать jar в свое приложение, используя
следующие конфигурации. Для проектов, не использующих Maven, загрузите jar-файл
по этой
ссылке и добавьте его в качестве зависимости в свое приложение.
Ниже описаны шаги по
созданию документа Excel с нуля с помощью Free Spire.XLS for Java. import com.spire.xls.*; public class CreateSpreadsheet { public static void main(String[] args) { //Create a Workbook object Workbook wb = new Workbook(); //Remove default worksheets wb.getWorksheets().clear(); //Add a worksheet and name it «Employee» Worksheet sheet = wb.getWorksheets().add("Employee"); //Merge the cells between A1 and G1 sheet.getRange().get("A1:G1").merge(); //Write data to A1 and apply formatting to it sheet.getRange().get("A1").setValue("Basic Information of Employees of Huanyu Automobile Company"); sheet.getRange().get("A1").setHorizontalAlignment(HorizontalAlignType.Center); sheet.getRange().get("A1").setVerticalAlignment(VerticalAlignType.Center); sheet.getRange().get("A1").getStyle().getFont().isBold(true); sheet.getRange().get("A1").getStyle().getFont().setSize(13); //Set row height of the first row sheet.setRowHeight(1,30); //Create a two-dimensional array String[][] twoDimensionalArray = new String[][]{ {«Name», «Gender», «Birth Date», «Educational Background», «Contact Number», «Position», «ID»}, {«Allen», «Male», {«Patrick», «Male», {«Jenna», «Female», {«Tommy», «Male», {«Christina», «Female», }; //Import data from DataTable to worksheet sheet.insertArray(twoDimensionalArray,2,1); //Set row height of a range sheet.getRange().get("A2:G7").setRowHeight(15); //Set column width sheet.setColumnWidth(2,15); sheet.setColumnWidth(3,21); sheet.setColumnWidth(4,15); //Set border style of a range sheet.getRange().get("A2:G7").borderAround(LineStyleType.Medium); sheet.getRange().get("A2:G7").borderInside(LineStyleType.Thin); sheet.getRange().get("A2:G2").borderAround(LineStyleType.Medium); sheet.getRange().get("A2:G7").getBorders().setKnownColor(ExcelColors.Black); //Save to a .xlsx file wb.saveToFile("output/NewSpreadsheet.xlsx", FileFormat.Version2016); } } Метод CellRange.getValue()
возвращает числовое или текстовое значение ячейки в виде строки. Чтобы получить
данные всего рабочего листа или диапазона ячеек, необходимо выполнить цикл
перебора ячеек в нем. Ниже описаны шаги по получению данных рабочего листа с
помощью Free Spire.XLS for Java. import com.spire.xls.CellRange; import com.spire.xls.Workbook; import com.spire.xls.Worksheet; public class ReadData { public static void main(String[] args) { //Create a Workbook object Workbook wb = new Workbook(); //Load an existing Excel file wb.loadFromFile("C:/Users/Administrator/Desktop/NewSpreadsheet.xlsx"); //Get the first worksheet Worksheet sheet = wb.getWorksheets().get(0); //Get the cell range containing data CellRange locatedRange = sheet.getAllocatedRange(); //Iterate through the rows for (int i = 0; i < locatedRange.getRows().length; i++) { //Iterate through the columns for (int j = 0; j < locatedRange.getColumnCount(); j++) { //Get data of a specific cell System.out.print(locatedRange.get(i + 1, j + 1).getValue() + " "); } System.out.println(); } } }

Создание документа Excel на Java
Чтение данных рабочего листа в Java