使用poi导出excel怎么设置单元格宽度(poi设置excel单元格属性)

Excel表格网 2022-11-12 11:00 编辑:admin 154阅读

1. poi设置excel单元格属性

你试试设置一下单元格的编码 cell.setCellType(HSSFCell.ENCODING_UTF_8);

2. poi设置单元格类型

合并单元格换行方式跟普通单元格的换行方式一样,有两种方式,一个是设置自动换行,一个是设置强制换行,下面分别介绍。

1、自动换行。

选中合并单元格,右键设置单元格格式,在对齐命令中,选中自动换行。这样改变合并单元格的列宽,数据就跟随列宽的大小自动换行。

2、强制换行。

选中合并单元格,将光标放在需要换行的位置,按下alt+enter键,强制换行。强制换行的数据,不会因单元格列宽的大小而改变。

3. poi输出excel

首先你要明白导入文件步骤:

1.实例化excel读取对象2.加载excel文件全部加载选择加载3.读取excel文件全部读取 逐行读取以下你看看那个更加适应你顺便列出几个其他语言导入Excel文件,希望对你有帮助PHP导入Excel文件java把Excel文件数据导入数据库PHP实现导出Excel文件通用方法JXL生成的excel文件+JAVA文件下载功能Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载java处理Excel文件---excel文件的创建,删除,写入,读取Java读取Excel文件jxl解析Excel文件JXL操作Excel文件java POI读取Excel文件java使用poi读取excel文件代码示例用jxl生成Excel文件PHP验证码文件类PHP 下载远程文件PHP获取远程文件的大小php压缩CSS文件PHP强制下载文件php读取csv文件类php 简单ftp文件上传范例一个php 生成zip文件的类

4. poi操作excel方法

导出时自由选择路径的代码如下:

1、后台输出Excel文件代码:

OutputStream output = response.getOutputStream();

response.reset();

response.setHeader("Content-disposition", "attachment; filename=" + path);

response.setContentType("Content-Type:application/vnd.ms-excel ");

wb.write(output);

output.close();

2、前端代码:

window.open("getExcelList","_blank");

5. poi设置单元格样式

通过这个例子,演示以下如何用java生成excel文件: import org.apache.poi.hssf.usermodel.*; import java.io.FileOutputStream; import java.io.IOException; publicclass CreateCells { publicstaticvoid main(String[] args) throws IOExcept ----------河南新华

6. poi单元格格式

这个我做奖金,考勤系统的时候经常用到,是一个方法,希望能帮到你。用的apachepoi:/***将奖金列表转换为奖金报表*@parambonus*@returnbyte[]*/privatebyte[]mainProcessBonusListToReport(Listbonuses){HSSFWorkbookhssfWorkbook=newHSSFWorkbook();HSSFSheethssfSheet=hssfWorkbook.createSheet("总奖金报表单")

;/*第一行单元格合并*/hssfSheet.addMergedRegion(newCellRangeAddress(0,0,0,12))

;/*第一行*/HSSFRowhssfRow=hssfSheet.createRow(0);HSSFCellhssfCell=hssfRow.createCell(0);hssfCell.setCellValue("派单业务考核记录")

;/*第二行*/hssfRow=hssfSheet.createRow(1)

;/*列名*/String[]titles={"序号","工号","话务员姓名","规范奖考核","业务奖金","话务奖金","服务质量奖金","星级系数","组长津贴","总奖金","增资奖金","英语翻译","实发总奖金"}

;/*for循环生成列名*/for(inti=0;i

7. poi给单元格设置公式

(一)首先,将excel设置为最合适的行高,通过CTRow对象的setCustomHeight(false)函数实现,具体的代码如下:

XSSFWorkbook workbook = new XSSFWorkbook(文件路径或者文件流);

XSSFSheet sheet = workbook.getSheet(sheetIndex);

XSSFRow xssfRow = sheet.getRow(rowIndex);

CTRow ctRow = xssfRow.getCTRow();

ctRow.setCustomHeight(false);

(二)然后,循环每个sheet页的行,通过XSSFCell的setWrapText(true),就可以设置单元格自动换行,并且自动调整行高,将单元格内容全部显示出来;

(三)最后,对于合并的单元格,只能是通过XSSFRow的setHeight(行高值)来设置,这里说一下思路:

(1)通过sheet获取当前sheet页总共有哪些合并的单元格,例如List<CellRangeAddress> listCombineCell = sheet.getMergedRegions();

(2)计算合并单于格的高度和宽度,采用循环的方式求的每一行的高度之和或者是每一列的宽度之和;

(3)获取合并单元格的内容,首先统计中文字符的个数,然后使用String的getByte().length获取字节数,加上中文字符的个数,最后将这两者之和乘以256(为何要乘以256,可以看POI中获取列宽的源码,在里面除以列256),这样得到了内容的长度;

(4)若内容的长度小于合并单元格的宽度,就不需要进行行高设置了;若内容的长度大于合并单元格的宽度,那么通过合并单元格的宽度除以内容的长度,计算内容需要多少行才能全部显示出来,这里采用取比商大的最小整数,考虑到单元格有padding和margin距离,最好是再加上一行量;这里需要注意如何计算单元格中内容的宽度了,首先将字符串形式的内容按换行符转换成字符数组,接着计算字符数组中每一个元素的宽度,将它们的宽带和单元格实际宽度相除,这样就可以统计字符数组每个元素需要多少行来显示,最终将这些行数累加起来,最后还加上字符数组大小值,这样就得到了单元格内容需要的行数。

(5)计算合并单元格字体的高度,然后乘以内容需要的行数(第4步中求得的行数),得到内容需要的总高度;

(6)判断合并单元格是否是行合并(通过起始行号和终止行号是否相等来判断,若相等就不是行合并,否则就是行合并),若是行合并的情况,那么就需要计算是由多少行合并的(终止行号减去起始行号,再加一),接着计算每一行需要的平均高度(单元格内容的总高度除以行合并的单元格的行数),然后通过循环设置行合并的单元格区域的每一行所需要的平均高度。若不是行合并的单元格,那么直接将行高设置为单元格内容所需的总高度即可。

8. poi设置表格样式

使用pl/sqldeveloper可以完成1、控制面板-->管理工具-->数据源(ODBC)-->添加-->选择驱动*.xls-->完成-->选择你的excel表格2、pl/sql-->tools-->ODBCImporterDataFromODBC标签页:DSN选择刚刚添加的数据源,点击connectDataToOracle标签页:选择对应的表3、点击Import,可以完成导入需要注意的是,excel中列的顺序和数据库表的字段顺序最好保持一致,excel列的标题和字段名称保持一致,这样导入的时候,会自动匹配。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片