public static void main(String[] args) throws Exception {
HSSFWorkbook workbook = new HSSFWorkbook();
// 创建第一个sheet页
createFirstSheet(workbook);
// 创建第二个sheet页
createSecondSheet(workbook);
workbook.write(new FileOutputStream("E:/test/a.xls"));
}
private static void createFirstSheet(HSSFWorkbook workbook) {
Sheet sheet = workbook.createSheet("waitdeliveryorders_01");
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 36));
for (int i = 0; i <= 36; i++) {
sheet.setColumnWidth(i, 32 * 130);
}
// 设置EXCEL第一行(标题行)
setTitle(sheet, workbook);
// 设置EXCEL第二行(字段行)
setColumn(sheet, workbook);
}
private static void createSecondSheet(HSSFWorkbook workbook) {
Sheet sheet = workbook.createSheet("快递公司");
Row row = sheet.createRow(0);
row.setHeight((short) 600);
Cell cell = row.createCell(0);
cell.setCellValue("承运单位");
cell.setCellStyle(getSecondSheetStyle(workbook));
sheet.setColumnWidth(0, 32 * 180);
String[] expressCompanyNames = getExpressCompanyNames();
for (int i = 0; i < expressCompanyNames.length; i++) {
Row expressRowi = sheet.createRow(i + 1);
expressRowi.setHeight((short) 600);
Cell expressCell0 = expressRowi.createCell(0);
expressCell0.setCellValue(expressCompanyNames[i]);
}
}
public static CellStyle getTitletyle(HSSFWorkbook workbook) {
// 设置字体;
HSSFFont font = workbook.createFont();
// 设置字体大小;
font.setFontHeightInPoints((short) 14);
// 设置字体名字;
font.setFontName("SansSerif");
// 设置字体颜色
font.setColor(HSSFColor.RED.index);
// 设置字体加粗
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
// 设置样式;
HSSFCellStyle style = workbook.createCellStyle();
// 在样式用应用设置的字体;
style.setFont(font);
// 设置自动换行;
style.setWrapText(false);
// 设置水平对齐的样式为居中对齐;
style.setAlignment(HSSFCellStyle.ALIGN_LEFT);
// 设置垂直对齐的样式为居中对齐;
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
return style;
}
public static CellStyle getColumnStyle(HSSFWorkbook workbook, boolean isRed) {
// 设置字体;
HSSFFont font = workbook.createFont();
// 设置字体大小;
font.setFontHeightInPoints((short) 10);
// 设置字体名字;
font.setFontName("SansSerif");
if (isRed) {
// 设置字体颜色
font.setColor(HSSFColor.RED.index);
}
// 设置字体加粗
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
// 设置样式;
CellStyle style = workbook.createCellStyle();
// 在样式用应用设置的字体;
style.setFont(font);
// 设置自动换行;
style.setWrapText(false);
// 设置水平对齐的样式为居中对齐;
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 设置垂直对齐的样式为居中对齐;
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
return style;
}
public static CellStyle getSecondSheetStyle(HSSFWorkbook workbook) {
// 设置字体;
HSSFFont font = workbook.createFont();
// 设置字体大小;
font.setFontHeightInPoints((short) 14);
// 设置字体名字;
font.setFontName("SansSerif");
// 设置字体加粗
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
// 设置样式;
HSSFCellStyle style = workbook.createCellStyle();
// 在样式用应用设置的字体;
style.setFont(font);
// 设置自动换行;
style.setWrapText(false);
// 设置水平对齐的样式为居中对齐;
style.setAlignment(HSSFCellStyle.VERTICAL_CENTER);
// 设置垂直对齐的样式为居中对齐;
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
return style;
}
public static String[] getExpressCompanyNames() {
String[] expressCompanyNames = { "苏宁自配送", "AAE-中国", "安信达快递", "BHT", "中国邮政国内包裹/挂号信", "希伊艾斯(CCES)", "DHL",
"D速快递", "大田物流", "德邦物流", "EMS", "E邮宝", "飞康达物流", "FedEx(国外)", "广东邮政物流", "港中能达物流", "汇通快运", "天地华宇", "佳吉快运",
"佳怡物流", "京广速递", "急先达", "快捷速递", "龙邦物流", "联昊通快递查询", "联邦快递", "全晨快递", "全峰全球专递", "全日通快递", "顺丰速运", "三态速递",
"TNT", "天天快递", "天地华宇", "UPS", "UC优速物流", "星晨急便", "鑫飞鸿速递", "新邦物流", "圆通速递", "韵达快运", "亚风快递", "源伟丰快递",
"一邦快递", "远成物流", "元智快递", "运通快递", " 越丰快递", "中通快递", "中铁快运", "中邮物流", "宅急送", "百福东方", "共速达", "全一快递", " 申通快递",
"速尔快递", "中铁物流 " };
return expressCompanyNames;
}
private static void setTitle(Sheet sheet, HSSFWorkbook workbook) {
String title = "在此模板中,输入快递单号、快递公司名称(须和“快递公司”表中的名称保持高度一致),无需物流输入送货人和手机号,然后点击“导入发货订单”按钮,可进行批量发货操作。";
Row titleRow = sheet.createRow(0);
titleRow.setHeight((short) 600);
Cell titleCell = titleRow.createCell(0);
titleCell.setCellValue(title);
titleCell.setCellStyle(getTitletyle(workbook));
}
private static void setColumn(Sheet sheet, HSSFWorkbook workbook) {
String[] columnNames = { "订单编号", "快递公司名称", "快递单号 ", "送货人 ", "手机号 ", "订单创建时间 ", "订单来源", "订单类型 ", "买家账号 ",
"苏宁商品编码 ", "商家商品编码 ", "商品名称 ", "商品型号", "商品属性1", "商品属性2", "购买数量 ", "单价", "运费 ", "总金额 ", "实际支付金额",
"支付方式", "收货人姓名", "收货地址 ", "联系电话 ", "联系手机", "发票抬头 ", "订单备注 ", "商家编码", "店铺ID ", "店铺名称 ", "异常信息",
"发货时间 ", "OMS行项目号 ", "B2C行项目号", "行项目状态", "运输区域字段编码 ", "顾客备注" };
Row columnrow = sheet.createRow(1);
columnrow.setHeight((short) 480);
for (int i = 0; i < columnNames.length; i++) {
Cell cell = columnrow.createCell(i);
cell.setCellValue(columnNames[i]);
if (i >= 1 && i <= 4) {
cell.setCellStyle(getColumnStyle(workbook, true));
} else {
cell.setCellStyle(getColumnStyle(workbook, false));
}
}
}
分享到:
相关推荐
"exceleasy模板生成excel"指的是使用Excel的模板功能来快速创建结构化、专业化的电子表格。这种方式可以极大地提高工作效率,避免从零开始设计复杂的布局和公式。 在Excel中,模板是一个预先设计好的工作簿,包含了...
在本文中,我们将深入探讨如何使用Java POI库根据已有的Excel模板生成新的Excel文件。 首先,理解“模板”在Excel中的概念非常重要。模板通常包含预设的格式、样式、公式和数据结构,可以作为创建新文件的基础。在...
在Java编程环境中,生成Excel报表是一项常见的任务,特别是在数据分析、数据导出或报表制作的场景中。本示例关注的是如何使用Java根据模板格式来创建适用于打印的专业Excel报表。这通常涉及到对Apache POI库的使用,...
总结起来,"golang实现的读取excel模板批量生成excel工具"是利用Go语言和Excellize库实现的一个高效工具,它简化了从模板批量生成Excel文件的过程,且提供了预编译的exe文件,便于用户直接使用。这个项目展示了Go...
这个过程涉及到对Excel模板的理解、读取、修改以及最终的保存。 首先,理解模板文件是关键。一个.xlsx模板文件实际上是由一系列XML文件组成,存储在ZIP压缩包内,这也就是.xslx文件的本质。模板中的单元格、公式、...
Kettle提供了使用Excel模板导出数据的功能,这使得输出的数据格式更加规范和易于阅读。 首先,我们需要理解Kettle中的Transform(转换)。Transform是Kettle工作流程中的基本单元,用于处理数据流。在这个场景中,...
创建模板时,你可以利用Excel的公式、条件格式、图表、图片等特性,使得最终生成的Excel文件具备丰富的展示效果。模板的设计应当尽可能考虑到可能的数据范围和结构,以便于数据的注入和导出。 接下来,使用Aspose....
1. **模板创建**:首先,你需要创建一个Excel模板文件,这个模板定义了最终生成Excel文件的布局和样式。模板中的某些单元格可以被标记为变量,这些变量会在生成过程中被Java对象的属性值替换。 2. **数据绑定**:在...
它很可能包含了生成Excel模板的核心逻辑。在这个类中,开发者可能会创建一个`Workbook`对象来代表Excel工作簿,然后创建`Sheet`对象表示工作表,并定义`Row`和`Cell`来填充数据。Apache POI提供了多种方法来设置...
例如,你可以先创建一个Excel模板,然后使用EasyPOI的API填充数据,添加图片到指定单元格,设置水印透明度和位置,最后通过设置页眉和页脚来实现分页效果。 在实际项目中,"document-tool-master"这样的压缩包很...
- 示例Java代码,演示了如何使用JXLS库读取模板、加载数据并生成Excel文件。 通过分析这些示例,你可以更深入地理解JXLS的工作机制,并学习如何将其应用到自己的项目中。例如,你可能会看到如何处理动态表格大小、...
在JXL中,结合EL表达式,我们可以动态地生成Excel内容,这使得在模板基础上生成复杂的数据报告变得非常便捷。 **步骤1:准备Excel模板** 首先,你需要创建一个Excel模板文件,这个模板包含你想要在生成的Excel中...
以往用Excel.Application来生成Excel、Word,需要写很多代码来控制排版的样式,用模版几乎不受任何限制,只需要打开word或Excel,编辑文档,选择"文件->另存为web页",即可方便的做好模板 ,用office生成的模板要比...
### Java操作Excel (xls)模板生成Excel (xls)方法及所需包详解 #### 一、引言 在日常开发工作中,经常会遇到需要批量处理Excel文件的需求。这些需求可能包括但不限于:根据现有数据自动生成报告、统计报表等。利用...
使用jxls框架生成Excel,简单易懂。内含所使用的引用jar包版本。
"jxl模版生成excel" 指的是使用JExcelAPI(简称jxl)这个Java库来创建基于模板的Excel文件。JExcelAPI是一个开源项目,允许程序开发者读写Microsoft Excel文件,它支持从Java数据结构直接导出到Excel格式,同时也可...
在这个特定的例子中,我们将讨论如何使用POI库基于一个Excel模板文件循环输出数据行,并将结果导出为新的Excel文件。 首先,我们需要理解POI库的基本概念。POI提供了HSSF(Horizontally SpreadSheet Format)和XSSF...
在本项目中,“使用poi根据导入模板生成excel”是核心任务,这意味着我们需要利用POI库处理已有的Excel模板,生成新的Excel表格,并填充数据。 首先,我们需要了解Apache POI的基本结构和使用方法。POI提供了HSSF...
在本示例中,我们将深入探讨如何利用POI库来生成Excel中的图表曲线,这对于数据可视化和报告生成非常有用。 1. **Apache POI介绍** Apache POI是一个开源项目,提供了API来处理Microsoft Office格式的文件。在Java...
【Excel模板Java实体生成器】是一种工具,它利用Apache POI库来解析Excel文件,无论是2003版的老格式还是2007版的新格式,都能够被它识别并读取。这个工具的主要目的是帮助开发者根据Excel表格中的数据结构自动生成...