java 导出excel 怎样设置单元格宽度自适应
发布网友
发布时间:2022-04-20 15:52
我来回答
共1个回答
热心网友
时间:2022-05-31 17:52
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFComment;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
public class PoiCreateExcelTest {
public static void main(String[] args) {
/**
* @see <a href="http://poi.apache.org/hssf/quick-guide.html#NewWorkbook">For more</a>
*/
// 创建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
// 在Excel工作簿中建一工作表,其名为缺省值, 也可以指定Sheet名称
HSSFSheet sheet = workbook.createSheet();
//HSSFSheet sheet = workbook.createSheet("SheetName");
// 用于格式化单元格的数据
HSSFDataFormat format = workbook.createDataFormat();
// 创建新行(row),并将单元格(cell)放入其中. 行号从0开始计算.
HSSFRow row = sheet.createRow((short) 1);
// 设置字体
HSSFFont font = workbook.createFont();
font.setFontHeightInPoints((short) 20); //字体高度
font.setColor(HSSFFont.COLOR_RED); //字体颜色
font.setFontName("黑体"); //字体
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //宽度
font.setItalic(true); //是否使用斜体
// font.setStrikeout(true); //是否使用划线
// 设置单元格类型
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setFont(font);
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //水平布局:居中
cellStyle.setWrapText(true);
// 添加单元格注释
// 创建HSSFPatriarch对象,HSSFPatriarch是所有注释的容器.
HSSFPatriarch patr = sheet.createDrawingPatriarch();
// 定义注释的大小和位置,详见文档
HSSFComment comment = patr.createComment(new HSSFClientAnchor(0, 0, 0, 0, (short)4, 2, (short) 6, 5));
// 设置注释内容
comment.setString(new HSSFRichTextString("可以在POI中添加注释!"));
// 设置注释作者. 当鼠标移动到单元格上是可以在状态栏中看到该内容.
comment.setAuthor("Xuys.");
// 创建单元格
HSSFCell cell = row.createCell((short) 1);
HSSFRichTextString hssfString = new HSSFRichTextString("Hello World!");
cell.setCellValue(hssfString);//设置单元格内容
cell.setCellStyle(cellStyle);//设置单元格样式
cell.setCellType(HSSFCell.CELL_TYPE_STRING);//指定单元格格式:数值、公式或字符串
cell.setCellComment(comment);//添加注释
//格式化数据
row = sheet.createRow((short) 2);
cell = row.createCell((short) 2);
cell.setCellValue(11111.25);
cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(format.getFormat("0.0"));
cell.setCellStyle(cellStyle);
row = sheet.createRow((short) 3);
cell = row.createCell((short) 3);
cell.setCellValue(9736279.073);
cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(format.getFormat("#,##0.0000"));
cell.setCellStyle(cellStyle);
sheet.autoSizeColumn((short)0); //调整第一列宽度
sheet.autoSizeColumn((short)1); //调整第二列宽度
sheet.autoSizeColumn((short)2); //调整第三列宽度
sheet.autoSizeColumn((short)3); //调整第四列宽度
try {
FileOutputStream fileOut = new FileOutputStream("C:/3.xls");
workbook.write(fileOut);
fileOut.close();
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
java 导出excel 怎么设置单元格宽度自适应
自适应列宽度:sheet.autoSizeColumn(1);sheet.autoSizeColumn(1, true);这两种方式都是自适应列宽度,但是注意这个方法在后边的版本才提供,poi的版本不要太老。 注意:第一个方法在合并单元格的的单元格并不好使,必须用第二个方法。sheet.setColumnWidth(m, “列名”.getBytes().length*2*256);...
java poi导出excel要双击才显示换行?
如果找不到,全选表格,右击,设置单元格格式,对齐,勾选自动换行即可。
java导出excel时,如何控制导出生成的excel的表格宽度(用代码,页面jsp...
2、 行高和列宽 WritableSheet.setRowView(int i,int height);作用是指定第i+1行的高度,比如://将第一行的高度设为200 sheet.setRowView(0,200);WritableSheet.setColumnView(int i,int width);
java导出excel时,如何控制导出生成的excel的表格宽度(用代码,页面jsp...
可以设置固定高度或宽带,也可以将column设置成auto size 没有用百分比控制的 你是想不同的用户屏幕显示不同的宽度和高度吗,除非你知道用户的分辨率,然后算出具体的值
java生成excel设置列宽,汉字问题
貌似只能大概猜测。因为英文的字符不是等宽的,另外也和font-size, font-family有关。如果是12号字体,一个汉字的宽度应该是12像素,一个字母应该大致是6像素。你还需要将1像素转化为1excel单元格的宽度单位。
Java 如何设置被导出excel单元格的样式?比如背景色,大小什么的?_百度...
使用 poi ,具体实现 HSSFCellStyle style = null;// 创建表头style HSSFCellStyle cellStyleTitle = workbook.createCellStyle();cellStyleTitle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); // 填充单元格 cellStyleTitle.setFillForegroundColor(HSSFColor.YELLOW.index);cellStyleTitle.setAlignment(...
java导出excel单元格长度问题
不知道你用的哪个类库,如果是jxl.jar WritableSheet.setColumnView(int i,int width);作用是指定第i+1列的宽度,比如://将第一列的宽度设为20 sheet.setColumnView(0,20);
请看下下面代码,Java导出excel cell.setCellValue()这个方法怎么不让用...
= null) { cell.setCellStyle(cellStyle); } } freezePane(sheet,0,1,0,1); }} java怎么用poi设置excel单元格边框?setBorder.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框 setBorder.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框 setBorder.setBorderTop(HSSFCellStyle.BORDER_...
java将数据导出excel计算其文件大小
使用ApachePOI导出excel(多个sheet页)_我是橘子京的博客2、设置导出excel路径 //导出的文件路径 String filePath="D:\\excel.xls"; 1 2 3、创建excel文件 //创建Excel文件(Workbook) HSSFWorkbook workbook = new HSSFWorkbook(); 1 2 4、设置单元格样式 //设置单元格样式 HSSFCel...POI3.8 导出大数据excel...
java如何另存导出Excel
// 设置冻结单元格 sheet.getSettings().setVerticalFreeze(2);sheet.getSettings().setHorizontalFreeze(5);sheet.setColumnView(0, 8); // 设置列的宽度 sheet.setColumnView(1, 10); // 设置列的宽度 sheet.setRowView(0, 0);sheet.addCell(new Label(0, 0, "hysj5800294*#", titleStyle1...