[Java POI] 1. Use of Java POI and javapoi
Most of the time, a software application needs to generate reports in Microsoft Excel file format. Sometimes an application even wants to use an Excel file as input data. For example, an application developed by a company needs to generate its own Excel for all outputs from the finance department.
Any Java programmer is willing to output MS Office files, which can be achieved by using predefined and read-only APIs.
What is Apache POI?
Apache POI is a popular API that allows programmers to create, modify, and display MS Office files using Java programs. This is an open source library developed by the Apache Software Foundation to use Java distributed design or modify Microsoft Office files. It contains classes and methods to decode user input data or files to MS Office documents.
Apache POI Components
Apache POI Contains classes and methods to combine all the OLE 2 Documents of MS Office. The list of this API component is as follows.
POIFS (File System implementation with poor obfuscation technology ):This component is the basic factor for all other POI components. It is used to explicitly read different files.
HSSF (terrible spreadsheet format ):It is used to read and write MS-Excel files in the xls format.
XSSF (XML format ):It is used in the XLSX file format in MS-Excel.
HPSF (terrible attribute setting format ):It is used to extract attributes of MS-Office files.
HWPF (terrible Word Processor Format ):It is used to read and write the file extension of MS-Word.
XWPF (XML Word Processor Format ):It is used to read and write files with the docx extension of MS-Word.
HSLF (terrible slide layout format ):It is used to read, create, and edit PowerPoint presentations.
HDGF (terrible chart format ):It contains binary files whose classes and methods are MS-Visio.
HPBF (terrible publisher format ):It is used to read and write MS-Publisher files.
Next we will mainly introduce the use of HSSF components, direct generation (gan) code (huo) I. Common settings
// Generate an Excel table
HSSFWorkbook workBook = new HSSFWorkbook ();
// Create a sheet
HSSFSheet sheet = workBook. createSheet ();
Sheet. autoSizeColumn (1, true );
// Define a style
HSSFCellStyle contentStyle = workBook. createCellStyle ();
HSSFFont contentFont = workBook. createFont (); // define the font
ContentFont. setFontName (""); // set the font
ContentFont. setFontHeightInPoints (short) 10); // set the font size
ContentFont. setBold (true); // you can specify the bold value.
ContentFont. setColor (HSSFColor. WHITE. index); // set the font color.
ContentStyle. setFont (contentFont );
ContentStyle. setAlignment (HorizontalAlignment. CENTER); // CENTER in the left-right corner
ContentStyle. setVerticalAlignment (VerticalAlignment. CENTER); // vertically centered
HSSFCellStyle contentStyleTemp = workBook. createCellStyle ();
ContentStyleTemp. cloneStyleFrom (contentStyle); // clone the style
ContentStyleTemp. setFillForegroundColor (HSSFColor. HSSFColorPredefined. ROYAL_BLUE.getColor (). getIndex (); // set the background color.
Ii. Custom colors
HSSFPalette provides two ways to customize colors:
1. Modify the RGB value of an existing color object.
The Code is as follows. Change the ORANGE color value to (255,204,153)
HSSFPalette customPalette = workbook. getCustomPalette ();
CustomPalette. setColorAtIndex (HSSFColor. ORANGE. index, (byte) 255, (byte) 204, (byte) 153 );
After you change the color to ORANGE, the modified color value is used.
2. Add a color using the RGB value (with certain limitations)
The Code is as follows. Add a color (153,204,255) and return an HSSFColor object.
HSSFPalette customPalette = workbook. getCustomPalette ();
HSSFColor newColor = customPalette. addColor (byte) 153, (byte) 204, (byte) 255 );
In this way, the new color object newColor can be used. (The limit of the 2nd method is that the newColor object must be referenced during use, while the limit of the 1st method is not)