时间:2021-05-19
本文实例讲述了java使用POI读取properties文件并写到Excel的方法。分享给大家供大家参考。具体实现方法如下:
package com.hubberspot.code;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.Enumeration;import java.util.HashMap;import java.util.Iterator;import java.util.Properties;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFRichTextString;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.util.HSSFColor;public class ReadWriteXlsProperties { // Create a HashMap which will store the properties HashMap< String, String > propMap = new HashMap< String, String >(); public static void main(String[] args) { // Create object of ReadWriteXlsProperties ReadWriteXlsProperties readWriteXlsDemo = new ReadWriteXlsProperties(); // Call method readProperties() it take path to properties file readWriteXlsDemo.readProperties("config.properties"); // Call method writeToExcel() it will take path to excel file readWriteXlsDemo.writeToExcel("test.xls"); } private void readProperties(String propertiesFilePath) { // Create a File object taking in path of properties // file File propertiesFile = new File(propertiesFilePath); // If properties file is a file do below stuff if(propertiesFile.isFile()) { try { // Create a FileInputStream for loading the properties file FileInputStream fisProp = new FileInputStream(propertiesFile); // Create a Properties object and load // properties key and value to it through FileInputStream Properties properties = new Properties(); properties.load(fisProp); // Create a object of Enumeration and call keys() // method over properties object created above // it will return us back with a Enumeration types Enumeration< Object > keysEnum = properties.keys(); // Looping over the elements of Enumeration while(keysEnum.hasMoreElements()) { // Extracting the key and respective values from it. String propKey = (String)keysEnum.nextElement(); String propValue = (String)properties.getProperty(propKey); // After extracting the key and value from the properties file // we will store the values in a HashMap. propMap.put( propKey.toLowerCase().trim(),propValue.toLowerCase().trim()); } // printing the HashMap and closing the file FileInputStream System.out.println("Properties Map ... \n" + propMap); fisProp.close(); } catch(FileNotFoundException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } } } private void writeToExcel(String excelPath) { // Create a Workbook using HSSFWorkbook object HSSFWorkbook workBook = new HSSFWorkbook(); // Create a sheet with name "properties" by // the createSheet method of the Workbook HSSFSheet worksheet = workBook.createSheet("Properties"); // Create a row by calling createRow method of the // Worksheet HSSFRow row = worksheet.createRow((short) 0); // Create a cell style by calling createCellStyle() // from the workbook HSSFCellStyle cellStyle = workBook.createCellStyle(); // setting of the foreground and fill pattern by calling methods // of HSSFCellStyle as setFillForegroundColor() and setFillPattern() cellStyle.setFillForegroundColor(HSSFColor.GOLD.index); cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); // Create a HSSFCell from the row object created above HSSFCell cell1 = row.createCell(0); // Setting the value of the cell as the keys by calling // setCellValue() method over the HSSFCell cell1.setCellValue(new HSSFRichTextString("Keys")); // Giving it the style created above. cell1.setCellStyle(cellStyle); HSSFCell cell2 = row.createCell(1); cell2.setCellValue(new HSSFRichTextString("Values")); cell2.setCellStyle(cellStyle); // Create a Iterator and as propMap is a HashMap // it is converted to a HashSet by calling keySet() method // which will return with Set. // Iterator object is pointed to keys of Set Iterator< String > iterator = propMap.keySet().iterator(); // Looping across the elements of Iterator while(iterator.hasNext()) { // Creating a new row from the worksheet // at the last used row + 1 location HSSFRow rowOne = worksheet.createRow(worksheet.getLastRowNum()+1); // Creating two cells in the row at 0 and 1 position. HSSFCell cellZero = rowOne.createCell(0); HSSFCell cellOne = rowOne.createCell(1); // extracting key and value from the map and set String key = (String) iterator.next(); String value = (String) propMap.get(key); // setting the extracted keys and values in the cells cellZero.setCellValue(new HSSFRichTextString(key)); cellOne.setCellValue(new HSSFRichTextString(value)); } try{ FileOutputStream fosExcel =null; // Creating a xls File File fileExcel = new File(excelPath); // Setting the File to FileOutputStream fosExcel = new FileOutputStream(fileExcel); // Writing the contents of workbook to the xls workBook.write(fosExcel); // Flushing the FileOutputStream fosExcel.flush(); // Closing the FileOutputStream fosExcel.close(); }catch(Exception e){ e.printStackTrace(); } }}希望本文所述对大家的java程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Java实现读取及生成Excel文件的方法。分享给大家供大家参考,具体如下:一、读取Excel文件需要先下载poi-3.0.1-FINAL-200
使用J2SEAPI读取Properties文件的六种方法1。使用Java.util.Properties类的load()方法示例:InputStreamin=l
Java读取Properties文件的方法总结读取.properties配置文件在实际的开发中使用的很多,总结了一下,有以下几种方法:其实很多都是大同小异,概括
前面讲述了使用POI导出Word文件和读取Excel文件,这两个例子都相对简单,接下来要讲述的使用POI导出Excel文件要复杂得多,内容也会比较长。创建表头信
使用SpringBoot开发过程中,难免需要配置相关数据项,然后在Java代码中@Autowired注入并使用。我们应该如何读取properties文件中的配置