在sheet.setColumnWidth中,这里的度量单位是字符宽度的1/256。还会告诉您Excel
是如何精确计算的。
因此,如果希望Excel
将列宽显示为10,使用默认字体Calibri 11,那么Width256
必须计算为(int)Math.round((10*units.default_character_width+5f)/units.default_character_width*256f)
。
如果需要以英寸为单位设置列宽,那么首先应该将英寸转换为像素,然后必须将width256
计算为(int)Math.round(widthpx/units.default_character_width*256f)
。
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.util.Units;
class ExcelSetColumnWidth {
public static void main(String[] args) throws Exception {
try (Workbook workbook = new XSSFWorkbook();
FileOutputStream fileout = new FileOutputStream("Excel.xlsx") ) {
Sheet sheet = workbook.createSheet();
int widthExcel = 10;
int width256 = (int)Math.round((widthExcel*Units.DEFAULT_CHARACTER_WIDTH+5f)/Units.DEFAULT_CHARACTER_WIDTH*256f);
System.out.println(width256);
sheet.setColumnWidth(0, width256);
sheet.createRow(0).createCell(0).setCellValue("1234567890"); // Excel shows column width as 10 using default font Calibri 11
float widthInch = 1f;
float widthPx = widthInch * Units.PIXEL_DPI;
width256 = (int)Math.round(widthPx/Units.DEFAULT_CHARACTER_WIDTH*256f);
System.out.println(width256);
sheet.setColumnWidth(1, width256);
System.out.println(sheet.getColumnWidthInPixels(1)); // should be round 96 pixels for an inch
sheet.createRow(1).createCell(1).setCellValue("1 inch width"); // column is 1 inch width
workbook.write(fileout);
}
}
}
问题内容: 简单方案: 我需要为设置一个固定宽度。我试过了: 也 对于 乃至 但是的宽度仍然相同。 问题答案: 对于Bootstrap 4.0: 在Bootstrap4.0.0中,您不能可靠地使用这些类(在Firefox中有效,但在Chrome中不适用)。您需要使用OhadR的答案: 对于Bootstrap 3.0: 在twitter bootstrap 3中使用:其中*是宽度的列数。 对于Boo
我使用的是Apace POI 3.12操作系统:Mac操作系统
Apache Kafka:分布式消息传递系统 Apache Storm:实时消息处理 我们如何在实时数据管道中使用这两种技术来处理事件数据? 在实时数据管道方面,我觉得两者做的工作是一样的。如何在数据管道上同时使用这两种技术?
我在Apache Poi < code > XSLFFreeformShape 中有一条多段线。 默认情况下,拐角连接样式显示为圆形。 如何设置为斜面或斜面? 我在超类<code>XSLFSimpleShape</code>支持的笔划样式方法中找不到连接样式。 编辑 这是我对其他行属性所做的:
我正在玩ApacheCamel,在从“琐碎的示例”阶段过渡到“但有这些恼人的细节”阶段时遇到了一些问题。至关重要的是,如何进入并显式修改endpoint。 在这种情况下,我需要为超文本传输协议客户端设置一个auth cookie。我有一个cookie存储对象,但不知道如何强制客户端使用它。我试过使用,但没有公开cookie存储,而且它似乎也没有被调用。 我现在的代码: 并由以下人员调用: 知道我如
我正在使用Flink从Apache Pulsar读取数据。我在pulsar中有一个分区主题,有8个分区。在本主题中,我生成了1000条消息,分布在8个分区中。我的笔记本电脑中有8个内核,因此我有8个子任务(默认情况下,并行度=#个内核)。在执行Eclipse中的代码后,我打开了Flink UI,发现一些子任务没有收到任何记录(空闲)。我希望所有8个子任务都能得到利用(我希望每个子任务都映射到我的主