java - 如何在Excel单元格SXSSFSheet java中添加复选符号

标签 java excel apache-poi symbols sxssf

如果满足条件,我需要在此单元格中放置一个复选符号。这是我的示例代码:

private SXSSFWorkbook RepWkBook = null;
private SXSSFSheet RepSheet = null;
private int RepRowNum = 0;
private ResultSet RepResult = null;
private Row RepRow = null;

    RepSheet = RepWkBook.createSheet(reportType);
    RepRowNum = 0;
    Row row = RepSheet.createRow(RepRowNum++);
    CellStyle cellStyle = RepWkBook.createCellStyle();
    Font font = RepWkBook.createFont();
    font.setBold(true);
    cellStyle.setFont(font);cell = RepRow.createCell(col++);

        boolean isMOBhigherThanArea = RepResult.getString("IS_MOB_HIGHER_THAN_AREA").equalsIgnoreCase("1");

        char st = '\u2713';

        if(isMOBhigherThanArea && (!areaStr.equalsIgnoreCase("No Data") || !mobStr.equalsIgnoreCase("No Data"))) {
            cell.setCellValue(st);}

我已经用过

UTF-16 - feff2713

UTF-16BE - 2713

UTF-16LE - 1327

UTF-8 - e29c93

click here for sample output 预期输出示例

区域 | MOB目标|面积结果 | MOB > 区域

城市 | 85% | 80% | ✔

最佳答案

没有采用 char 的方法 setCellValue。尝试在那里使用String

以下内容对我有用:

import java.io.FileOutputStream;
import org.apache.poi.xssf.streaming.*;

class CreateSXSSFUnicode {

 public static void main(String[] args) throws Exception {

  char st = '\u2713';
  String[] headers = new String[] {"Area", "MOB Target", "Area Result", "MOB > Area"};

  try (SXSSFWorkbook workbook = new SXSSFWorkbook(); 
       FileOutputStream fileout = new FileOutputStream("Excel.xlsx") ) {

   SXSSFSheet sheet = workbook.createSheet(); 
   SXSSFRow row;

   int rowNum = 0;
   row = sheet.createRow(rowNum++);
   for (int c = 0; c < headers.length; c++) {
    row.createCell(c).setCellValue(headers[c]);
   }
   row = sheet.createRow(rowNum++);
   int c = 0;
   row.createCell(c++).setCellValue("City");
   row.createCell(c++).setCellValue("85%");
   row.createCell(c++).setCellValue("80%");
   //row.createCell(c++).setCellValue(st); // does not work as st is a char
   row.createCell(c++).setCellValue(String.valueOf(st)); // this works

   workbook.write(fileout);
   workbook.dispose();
  }
 }
}

结果:

enter image description here

关于java - 如何在Excel单元格SXSSFSheet java中添加复选符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60269329/

相关文章:

java - 如何使用 Selenium 从 iOS 选择器轮中选择随机值

java - 解析从文件中读取的日期

java - 使用 Apache POI 更改行的样式

java - 使用 java.awt.image.BufferedImage 创建 BIFF8 BITMAP 记录需要很多时间 - 有没有更好的方法?

java - itext pdf 标题

java - RowSet 对象默认可滚动吗?

excel - 使用 toggle.button 对行集进行分组

excel - Weka 用于数据标准化的公式

excel - 什么是 "Days"函数或 excel 2007 中两个日期之间的天数?

java - 即使使用 java 结果集具有不同的数据,相同的数据也会插入到 Excel 的每一行中