java使用POI读取properties文件并写到Excel的方法

网友投稿 198 2023-08-01


java使用POI读取properties文件并写到Excel的方法

本文实例讲述了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.creatdbTpcZGpeRow((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程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:$.extend 的一个小问题
下一篇:java基于OpenGL ES实现渲染实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~