博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库文件导出
阅读量:4315 次
发布时间:2019-06-06

本文共 1933 字,大约阅读时间需要 6 分钟。

 

 

 //==============================================核心类===============================================================

public static ByteArrayInputStream genExcel(Map<String,Object> excelMap)

throws Exception {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("sheet1");

List<String> header = (List<String>)excelMap.get("header");

List<List<Object>> contents = (List<List<Object>>)excelMap.get("contents");

int ri = 0, ci = 0;

HSSFRow row = sheet.createRow(ri);
HSSFCell cell = null;
//列名字体加粗
HSSFCellStyle cellStyle = workbook.createCellStyle();
HSSFFont cellFont = workbook.createFont();
cellFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
cellStyle.setFont(cellFont);
if (header != null && contents != null) {
//生成列名
for (ci = 0; ci < header.size(); ci++) {
cell = row.createCell(ci);
cell.setCellValue(header.get(ci));
cell.setCellStyle(cellStyle);
}
//行数据生成
for (ri = 0; ri < contents.size(); ri++) {
row = sheet.createRow(ri + 1);
List<Object> data = contents.get(ri);
for (ci = 0; ci < data.size(); ci++) {
cell = row.createCell(ci);
Object value = data.get(ci);

if(value != null){

if (value instanceof Long || value instanceof Integer ||
value instanceof Short || value instanceof Byte ||
value instanceof AtomicInteger ||
value instanceof AtomicLong ||
value instanceof BigInteger ||
value instanceof BigDecimal ||
value instanceof Float ||
value instanceof Double) {
cell.setCellValue(((Number) value).doubleValue());
}else if(value instanceof Boolean){
cell.setCellValue((Boolean) value);
}else if(value instanceof byte[]){
cell.setCellValue(DataFormat.bytes2HexString((byte[])value));
}else{
cell.setCellValue(String.valueOf(value));
}
}
}
}
}

ByteArrayOutputStream baos = new ByteArrayOutputStream();

baos.flush();
workbook.write(baos);
byte[] ba = baos.toByteArray();
ByteArrayInputStream bais = new ByteArrayInputStream(ba);

return bais;

}
}

转载于:https://www.cnblogs.com/tqliu/p/7404598.html

你可能感兴趣的文章
跨站请求伪造(CSRF)
查看>>
EF Code First数据库映射规则及配置
查看>>
.Net StackFrame
查看>>
Qt 学习之路:视图选择 (QItemSelectionModel)
查看>>
QStyleFactory类参考
查看>>
ng-深度学习-课程笔记-2: 神经网络中的逻辑回归(Week2)
查看>>
正则表达式的搜索和替换
查看>>
个人项目:WC
查看>>
地鼠的困境SSL1333 最大匹配
查看>>
flume+elasticsearch+kibana遇到的坑
查看>>
Javascript 高阶函数等
查看>>
【MM系列】在SAP里查看数据的方法
查看>>
C#——winform
查看>>
CSS3 transform制作的漂亮的滚动式导航
查看>>
《小强升职记——时间管理故事书》读书笔记
查看>>
Alpha 冲刺(3/10)
查看>>
Kaldi中的Chain模型
查看>>
spring中的ResourceBundleMessageSource使用和测试示例
查看>>
css规范 - bem
查看>>
SQL 通用数据类型
查看>>