1.首先创建一个java项目
2.导入以下jar包
3.代码如下
public class auto_date {
private static List<List<String>> readExcel(File file) throws Exception {
// 创建输入流,读取Excel
InputStream is = new FileInputStream(file.getAbsolutePath());
// jxl提供的Workbook类
Workbook wb = Workbook.getWorkbook(is);
// 只有一个sheet,直接处理
//创建一个Sheet对象
Sheet sheet = wb.getSheet(0);
// 得到所有的行数
int rows = sheet.getRows();
// 所有的数据
List<List<String>> allData = new ArrayList<List<String>>();
// 越过第一行 它是列名称
for (int j = 1; j < rows; j++) {
List<String> oneData = new ArrayList<String>();
// 得到每一行的单元格的数据
Cell[] cells = sheet.getRow(j);
for (int k = 0; k < cells.length; k++) {
oneData.add(cells[k].getContents().trim());
}
// 存储每一条数据
allData.add(oneData);
// 打印出每一条数据
//System.out.println(oneData);
}
return allData;
}
public static void main(String[] args) {
File file = new File("F://m//1.xls");
//42列
//3337行
try {
List<List<String>> allData=readExcel(file);
//System.out.println("总数:"+allData.size());//总行数
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("小麦特性表");
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow((int) 0);
// 第四步,创建单元格,并设置值表头 设置表头居中
//HSSFCellStyle style = wb.createCellStyle();
//style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
// HSSFRow row1 = sheet.createRow(0);
HSSFCell cell = row.createCell((short) 0);
cell.setCellValue("所有小麦特征表");
sheet.addMergedRegion(new CellRangeAddress(0,0,0,20));
HSSFRow row2 = sheet.createRow(1);
row2.createCell(0).setCellValue("品种名称");
row2.createCell(1).setCellValue("生态类型");
row2.createCell(2).setCellValue("生育期");
row2.createCell(3).setCellValue("苗性");
row2.createCell(4).setCellValue("叶色");
row2.createCell(5).setCellValue("分蘖力");
row2.createCell(6).setCellValue("株型");
row2.createCell(7).setCellValue("株高");
row2.createCell(8).setCellValue("株高");
row2.createCell(9).setCellValue("穗形");
row2.createCell(10).setCellValue("芒");
row2.createCell(11).setCellValue("壳色");
row2.createCell(12).setCellValue("粒色");
row2.createCell(13).setCellValue("硬度");
row2.createCell(14).setCellValue("籽粒饱满度");
row2.createCell(15).setCellValue("亩穗数");
row2.createCell(16).setCellValue("穗粒数");
row2.createCell(17).setCellValue("千粒重");
row2.createCell(18).setCellValue("熟相");
row2.createCell(19).setCellValue("抗倒性");
row2.createCell(20).setCellValue("抗旱性");
row2.createCell(21).setCellValue("抗寒性1");
row2.createCell(22).setCellValue("抗寒性2");
row2.createCell(23).setCellValue("粗蛋白质");
row2.createCell(24).setCellValue("湿面筋");
row2.createCell(25).setCellValue("降落数值");
row2.createCell(26).setCellValue("沉淀指数");
row2.createCell(27).setCellValue("吸水量");
row2.createCell(28).setCellValue("形成时间");
row2.createCell(29).setCellValue("稳定时间");
row2.createCell(30).setCellValue("弱化度");
row2.createCell(31).setCellValue("出粉率");
row2.createCell(32).setCellValue("延伸性");
row2.createCell(33).setCellValue("拉伸能量");
row2.createCell(34).setCellValue("拉伸面积");
row2.createCell(35).setCellValue("最大拉伸阻力");
row2.createCell(36).setCellValue("容重");
row2.createCell(37).setCellValue("节水性指数1");
row2.createCell(38).setCellValue("节水性指数2");
row2.createCell(39).setCellValue("节水性1");
row2.createCell(40).setCellValue("节水性2");
row2.createCell(41).setCellValue("抗病性1");
row2.createCell(42).setCellValue("抗病性2");
// File writename = new File("G://2.txt"); // 相对路径,如果没有则要建立一个新的output。txt文件
// writename.createNewFile(); // 创建新文件
// BufferedWriter out = new BufferedWriter(new FileWriter(writename));
// out.write("写入文件
"); //
即为换行
//System.out.println(allData);//输出全部
for (int i = 0; i < allData.size(); i++) {
List<String> list=allData.get(i);
HSSFRow row3 = sheet.createRow(i+2);
HSSFCell col0 = row3.createCell(0);
col0.setCellValue(list.get(0));
// out.write("**************************************"+"
");
// out.write("第 "+i+" 个"+"品种名称: "+list.get(0)+"
");
/
if(temp[r].contains("抗病鉴定")==true){
disease+=temp[r]+":";
}
if(temp[r].contains("叶锈病")==true){
disease+=temp[r]+",";
}
if(temp[r].contains("条锈病")==true){
disease+=temp[r]+",";
}
if(temp[r].contains("白粉病")==true){
disease+=temp[r]+",";
}
if(temp[r].contains("赤霉病")==true){
disease+=temp[r]+",";
}
if(temp[r].contains("抗条锈病")==true){
disease+=temp[r];
}
if(temp[r].contains("纹枯病")==true){
disease+=temp[r];
}
if(temp[r].contains("黄花叶病")==true){
disease+=temp[r];
}
if(temp[r].contains("根腐病")==true){
disease+=temp[r];
}
if(temp[r].contains("秆锈病")==true){
disease+=temp[r];
}
if(temp[r].contains("株期感病")==true){
disease+=temp[r];
}
if(temp[r].contains("株期抗病")==true){
disease+=temp[r];
}
if(temp[r].contains("抗赤霉")==true){
disease+=temp[r];
}
if(temp[r].contains("抗赤霉")==true){
disease+=temp[r];
}
if(true){
col141.setCellValue(disease);
//System.out.println(disease);
}
// if (temp[r].contains("抗病性2")==true) {
// col142.setCellValue(temp[r]);
// }
// out.write("属性: "+temp[r]+"
");
//System.out.println(temp[r]);//输出字符串
}
}
}
//System.out.println(list.get(1));
}
// 第五步,将文件存到指定位置
FileOutputStream fout = new FileOutputStream("F://m//2.xls");
wb.write(fout);
fout.close();
// out.flush(); // 把缓存区内容压入文件
// out.close(); // 最后记得关闭文件
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4.做成效果如下图所示