利用java提取Excel中日平均温度计算及导出
2015-10-21 09:08
405 查看
时间太紧,程序比较乱,以后用的时候注意整理调整
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Iterator; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class BeitunwenduCal { public static void main(String[] args) { String fileToBeRead="e:/beitunwendu.xls"; String outputFile = "e:/ btwdjsjg.xls"; try { // 创建对Excel工作簿文件的引用 HSSFWorkbook reworkbook = new HSSFWorkbook(new FileInputStream(fileToBeRead)); // 创建对工作表的引用。 // 本例是按名引用(让我们假定那张表有着缺省名"Sheet1") HSSFSheet resheet = reworkbook.getSheet("Sheet1"); // 也可用getSheetAt(int index)按索引引用, // 在Excel文档中,第一张工作表的缺省索引是0, // 其语句为:HSSFSheet sheet = workbook.getSheetAt(0); // 读取左上端单元 HSSFWorkbook workbook = new HSSFWorkbook(); // 在Excel工作簿中建一工作表,其名为缺省值 // 如要新建一名为"效益指标"的工作表,其语句为: // HSSFSheet sheet = workbook.createSheet("效益指标"); HSSFSheet sheet = workbook.createSheet(); // 在索引0的位置创建行(最顶端的行) int num = resheet.getLastRowNum(); double dateStr =0; double wenduzhihe=0; int wendunum=0; int date1=0; double cellwd=0; for (int i = 0; i < num; i++) { HSSFRow rerow = resheet.getRow(i); HSSFCell recell = rerow.getCell((short)0); HSSFCell recell1 = rerow.getCell((short)1); // 输出单元内容,cell.getStringCellValue()就是取所在单元的值 System.out.println("左上端单元是: " + recell.getNumericCellValue()); if(!(dateStr==recell.getNumericCellValue())){ if(wendunum!=0){ HSSFRow row = sheet.createRow((short) date1); HSSFCell cell = row.createCell((short) 0); // 定义单元格为字符串类型 cell.setCellType(HSSFCell.CELL_TYPE_STRING); // 在单元格中输入一些内容 cell.setCellValue(dateStr); HSSFCell cell1 = row.createCell((short) 1); // 定义单元格为字符串类型 cell1.setCellType(HSSFCell.CELL_TYPE_NUMERIC); // 在单元格中输入一些内容 cellwd=wenduzhihe/wendunum; cell1.setCellValue(cellwd); date1++; } dateStr=recell.getNumericCellValue(); wenduzhihe=recell1.getNumericCellValue(); wendunum=1; } else{ wenduzhihe=wenduzhihe+recell1.getNumericCellValue(); wendunum++; } } FileOutputStream fOut = new FileOutputStream(outputFile); // 把相应的Excel 工作簿存盘 workbook.write(fOut); fOut.flush(); // 操作结束,关闭文件 fOut.close(); System.out.println("文件生成..."); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 使用Python生成Excel格式的图片
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树