Commit 7dbe1ea0 authored by 竹天卫's avatar 竹天卫
parents a56c0c2b e9ef511f
...@@ -5,6 +5,7 @@ import java.io.File; ...@@ -5,6 +5,7 @@ import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.Arrays;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -15,9 +16,13 @@ import org.apache.poi.hssf.usermodel.HSSFFont; ...@@ -15,9 +16,13 @@ import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.wp.usermodel.Paragraph; import org.apache.poi.wp.usermodel.Paragraph;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFFont; import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFRichTextString; import org.apache.poi.xssf.usermodel.XSSFRichTextString;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
...@@ -335,4 +340,110 @@ public class ExcelUtil { ...@@ -335,4 +340,110 @@ public class ExcelUtil {
return workbook; return workbook;
} }
/**
* @param infoHeader 委托人信息表头
* @param teamsHeader 检测项表头
* @return
*/
private static XSSFWorkbook generatoronsignationWorkbook(List<String> infoHeader, List<String> teamsHeader) {
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("sheet1");
XSSFCellStyle style=wb.createCellStyle();
//水平居中
style.setAlignment(HorizontalAlignment.CENTER);
//垂直居中
style.setVerticalAlignment(VerticalAlignment.CENTER);
int rownum = 0;
//创建第一行
XSSFRow row0 = sheet.createRow(rownum++);
//处理委托人信息表头
for (int i = 0; i < infoHeader.size(); i++) {
XSSFCell tempCell = row0.createCell(i);
tempCell.setCellValue(infoHeader.get(i));
tempCell.setCellStyle(style);
}
//处理检测项总产值表头
for (int i = infoHeader.size(); i < teamsHeader.size() + infoHeader.size(); i++) {
XSSFCell tempCell = row0.createCell(i);
tempCell.setCellValue(teamsHeader.get(i - infoHeader.size()));
tempCell.setCellStyle(style);
}
//增加1空列
{
XSSFCell tempCell = row0.createCell(teamsHeader.size() + infoHeader.size());
tempCell.setCellValue("");
tempCell.setCellStyle(style);
}
//处理检测项信息表头
for (int i = teamsHeader.size() + infoHeader.size() + 1; i < infoHeader.size() + 1 + teamsHeader.size() * 3; i++) {
String header = teamsHeader.get((i - teamsHeader.size() - infoHeader.size() - 1) / 2);
XSSFCell tempCell1 = row0.createCell(i);
tempCell1.setCellStyle(style);
tempCell1.setCellValue(header);
XSSFCell tempCell2 = row0.createCell(++i);
tempCell2.setCellValue(header);
tempCell2.setCellStyle(style);
//合并表头
sheet.addMergedRegion(new CellRangeAddress(0, 0, i-1, i ));
}
//创建第二行
XSSFRow row1 = sheet.createRow(rownum++);
//处理委托人信息表头
for (int i = 0; i < infoHeader.size(); i++) {
XSSFCell tempCell = row1.createCell(i);
tempCell.setCellValue("");
tempCell.setCellStyle(style);
//合并表头
sheet.addMergedRegion(new CellRangeAddress(0, 1, i, i));
}
//处理检测项总产值表头
for (int i = infoHeader.size(); i < teamsHeader.size() + infoHeader.size(); i++) {
XSSFCell tempCell = row1.createCell(i);
tempCell.setCellValue("计算产值");
tempCell.setCellStyle(style);
}
//增加1空列
{
XSSFCell tempCell = row0.createCell(teamsHeader.size() + infoHeader.size());
tempCell.setCellValue("");
tempCell.setCellStyle(style);
}
//处理检测项信息表头
for (int i = teamsHeader.size()+1 + infoHeader.size(); i < infoHeader.size()+1 + teamsHeader.size() * 3; i++) {
XSSFCell tempCell1 = row1.createCell(i);
tempCell1.setCellValue("单价");
tempCell1.setCellStyle(style);
XSSFCell tempCell2 = row1.createCell(++i);
tempCell2.setCellValue("数量");
tempCell2.setCellStyle(style);
}
return wb;
}
public static void main(String[] args) throws IOException {
//指定数据存放的位置
OutputStream outputStream = new FileOutputStream("D:\\test.xlsx");
String[] in_fo = {
"委托单号",
"委托单位",
"项目编号",
"项目名称",
"委托人",
"样品数量",
"发样日期",
"是否加急",
"实际产值",
};
List info = Arrays.asList(in_fo);
String a = "荧光检测 L.O.I SiO2 Al2O3+TiO2 Al2O3 TiO2 Fe2O3 CaO MgO K2O Na2O 有效钾 有效钠 重量法SO3 SO3 挥发性硫 硫酸盐硫 Cl⁻ fCaO 1350 fCaO 1400 fCaO 1450 fCaO 附着水 结晶水 工业分析 St,ad 水分 密度 比表面积 45μm细度 80μm细度 200μm细度 激光粒度分析 颗粒形貌分析 塑性指数 白度 粒度筛析 易磨性 T3000 T5000 磨蚀性 可磨 辊磨 易烧性 其他-工艺性能 MnO TiO2 五氧化二磷 铜(Cu) 铅(Pb) 锰(Mn) 镍(Ni) 锌(Zn) 钴(Co) 总铬(Cr) 镉(Cd) 汞(Hg) 砷(As) 锑(Sb) 水溶性铬(VI) 水泥强度检测1天 水泥强度检测2天 水泥强度检测3天 水泥强度检测7天 水泥强度检测28天 标准稠度用水量 流动度 凝结时间 安定性 岩相 衍射 弹筒发热量 热分析 金属铁 水化热 燃烧特性 不溶物 氟离子 游离硅 f-SiO2 f-SiO2+45 f-SiO2+80 其他 煤中硫";
String[] te_rm = a.split("\t");
List term = Arrays.asList(te_rm);
XSSFWorkbook workbook = generatoronsignationWorkbook(info, term);
workbook.write(outputStream);
outputStream.close();
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment