`
sn201
  • 浏览: 28634 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HSSFCell 设置样式

    博客分类:
  • java
 
阅读更多
1、遍历workbook
// load源文件  
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filePath));  
HSSFWorkbook wb = new HSSFWorkbook(fs);  
for (int i = 0; i < wb.getNumberOfSheets(); i++) {  
  HSSFSheet sheet = wb.getSheetAt(i);  
  for (int j = sheet.getFirstRowNum(); j < sheet.getLastRowNum(); j++) {  
    HSSFRow row = sheet.getRow(j);  
    if (row != null) {  
      // 。。。操作}  
    }  
  }  
}  
// 目标文件  
FileOutputStream fos = new FileOutputStream(objectPath);  
// 写文件  
wb.write(fos);  
fos.close(); 


2、得到列和单元格
HSSFRow row = sheet.getRow(i);     
HSSFCell cell = row.getCell((short) j);   


3、设置sheet名称和单元格内容为中文
wb.setSheetName(n, "中文",HSSFCell.ENCODING_UTF_16);         
cell.setEncoding((short) 1);     
cell.setCellValue("中文");   


4、单元格内容未公式或数值,可以这样读写
cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);     
cell.getNumericCellValue(); 



5、设置列宽、行高
sheet.setColumnWidth((short)column,(short)width);     
row.setHeight((short)height); 



6、添加区域,合并单元格
Region region = new Region((short)rowFrom,(short)columnFrom,(short)rowTo,(short)columnTo);     
sheet.addMergedRegion(region);     
//得到所有区域     
sheet.getNumMergedRegions() ; 


7、常用方法
根据单元格不同属性返回字符串数值
public String getCellStringValue(HSSFCell cell) {  
  String cellValue = "";  
  switch (cell.getCellType()) {  
  case HSSFCell.CELL_TYPE_STRING:  
    cellValue = cell.getStringCellValue();  
    if (cellValue.trim().equals("") || cellValue.trim().length() <= 0)  
      cellValue = " ";  
    break;  
  case HSSFCell.CELL_TYPE_NUMERIC:  
    cellValue = String.valueOf(cell.getNumericCellValue());  
    break;  
  case HSSFCell.CELL_TYPE_FORMULA:  
    cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);  
    cellValue = String.valueOf(cell.getNumericCellValue());  
    break;  
  case HSSFCell.CELL_TYPE_BLANK:  
    cellValue = " ";  
    break;  
  case HSSFCell.CELL_TYPE_BOOLEAN:  
    break;  
  case HSSFCell.CELL_TYPE_ERROR:  
    break;  
  default:  
    break;  
  }  
  return cellValue;  


8、常用单元格边框格式

虚线HSSFCellStyle.BORDER_DOTTED
实线HSSFCellStyle.BORDER_THIN
public static HSSFCellStyle getCellStyle(short type) {  
  HSSFWorkbook wb = new HSSFWorkbook();  
  HSSFCellStyle style = wb.createCellStyle();  
  style.setBorderBottom(type);// 下边框  
  style.setBorderLeft(type);// 左边框  
  style.setBorderRight(type);// 右边框  
  style.setBorderTop(type);// 上边框  
  return style;  



9、设置字体和内容位置
HSSFFont f  = wb.createFont();     
f.setFontHeightInPoints((short) 11);// 字号  
f.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL);// 加粗  
style.setFont(f);     
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中  
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中  
style.setRotation(short rotation);// 单元格内容的旋转的角度  
HSSFDataFormat df = wb.createDataFormat();     
style1.setDataFormat(df.getFormat("0.00%"));// 设置单元格数据格式  
cell.setCellFormula(string);// 给单元格设公式  
style.setRotation(short rotation);// 单元格内容的旋转的角度  
cell.setCellStyle(style);   

10、插入图片
// 先把读进来的图片放到一个ByteArrayOutputStream中,以便产生ByteArray  
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();  
BufferedImage bufferImg = ImageIO.read(new File("ok.jpg"));  
ImageIO.write(bufferImg, "jpg", byteArrayOut);  
// 读进一个excel模版  
FileInputStream fos = new FileInputStream(filePathName + "/stencil.xlt");  
fs = new POIFSFileSystem(fos);  
// 创建一个工作薄  
HSSFWorkbook wb = new HSSFWorkbook(fs);  
HSSFSheet sheet = wb.getSheetAt(0);  
HSSFPatriarch patriarch = sheet.createDrawingPatriarch();  
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 1023, 255, (short) 0, 0, (short) 10, 10);  
patriarch.createPicture(anchor, wb.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG)); 
分享到:
评论
1 楼 fan_qiao_ling 2018-09-29  
   

相关推荐

    javaHSSFCellStyle样式详解

    它提供了一些基本的样式设置,例如对齐方式、背景颜色、边框样式、字体样式等。 对齐方式 HSSFCellStyle 提供了多种对齐方式,包括水平对齐和垂直对齐。水平对齐有LEFT、CENTER、RIGHT三种方式,而垂直对齐有TOP、...

    POI-excel导出样式设计.docx

    本文总结了 POI-excel 的一些常用方法和样式设计,包括读取 Excel 文件、获取单元格内容、设置单元格内容、读取单元格内容、设置列宽和行高、添加区域和合并单元格、常用方法和常用单元格边框格式等。

    详解JAVA_POI导出EXCEL报表的操作(包括各种格式及样式的实现)

    本文将详细介绍如何使用 Java POI 来生成 Excel 报表,并涵盖如何设置单元格的各种格式和样式。 #### 二、环境准备 在开始之前,请确保已经安装了以下工具和库: 1. **Java 开发环境**:确保你的开发环境中已安装 ...

    POI实战-java开发excel详解

    - **样式设置**:可以设置单元格的字体、背景颜色、边框样式等。 ```java // 添加一行 HSSFRow newRow = sheet.createRow(sheet.getLastRowNum() + 1); // 添加单元格并设置值 HSSFCell newCell = newRow....

    poi添加超链接

    本文详细介绍了如何使用 Apache POI 在 Excel 文件中添加超链接,包括使用 `HYPERLINK` 公式和设置样式的方法,并提供了一个完整的示例代码。通过这些方法,你可以轻松地在 Excel 文件中创建各种类型的超链接,提高...

    NPOI范围加边框

    在添加边框样式时,NPOI提供了HSSFCellStyle类,它包含了一系列方法来设置单元格的样式,包括边框。你可以使用SetBorderBottom、SetBorderTop、SetBorderLeft和SetBorderRight方法分别设置单元格的底部、顶部、左边...

    JAVA技巧:poi操作excel-中文与单元格样式的方法.docx

    本篇将详细讲解如何使用POI操作Excel,特别是处理中文字符以及设置单元格样式。 首先,导入必要的POI库: ```java import java.util.ArrayList; import java.util.Iterator; import org.apache.poi.hssf.usermodel....

    适用poi操作excel

    6. **设置单元格样式**:可以使用样式方法来设置单元格的样式。 ```java cell.setCellStyle(normalStyle); ``` 7. **设置单元格公式**:如果需要为单元格设置公式,可以使用`setCellFormula()`方法。 ```java...

    Java-Excel报表开发POI(含详细的样式说明)

    这篇教程针对Java初学者,将详细介绍如何利用POI库进行Excel报表的开发,以及如何设置样式。 首先,你需要下载POI的最新版本。截至文章发布时,POI的最新稳定版本是3.0.1。虽然这个版本不完全支持Excel 2007的新...

    读取Excle表格日期

    通过这个方法,可以方便地设置单元格的上下左右边框样式。 ### 9. 设置字体样式 设置字体样式可以让Excel表格更具可读性和专业性: ```java HSSFFont f = wb.createFont(); f.setFontHeightInPoints((short)11); ...

    导入EXCEL(POI技术)

    从创建Excel工作簿、工作表到设置单元格样式及写入数据,每一步都有详细的解释。掌握了这些基础后,可以根据实际需求进一步扩展功能,例如动态生成Excel文件、支持更复杂的数据类型等。通过这种方式,可以轻松地将...

    XML和PDF生成的资料

    在数据写入循环中,对于每一条数据,创建新的`HSSFRow`,遍历列数,创建`HSSFCell`,设置数据样式,这里特别注意设置了UTF-16编码以支持中文字符的正确输出。根据原始数据的类型,可以适当地转换并写入单元格,例如...

    poi-quick-guide

    此示例说明了如何设置单元格的边框样式。 ##### 图像与形状 ```java // 加载图片文件 FileInputStream fis = new FileInputStream("image.png"); byte[] bytes = new byte[fis.available()]; fis.read(bytes); fis...

    通过生成表格或调用的表格,添加相关内容,样式后存放至指定路径

    虽然提供的代码片段没有涉及到样式设置的部分,但我们可以简单了解一下如何通过Java设置Excel表格的样式。例如,可以通过`HSSFCellStyle`类来设置单元格的字体、对齐方式等。 #### 3.1 创建样式 ```java ...

    Java生成Excel文件.docx

    生成 Excel 文件的过程可以分为三步:创建工作簿对象、写入数据和设置字体和单元格样式。 创建工作簿对象 首先,需要引入 POI 的包 import org.apache.poi.hssf.usermodel.*;import org.apache.poi.hssf.util....

    POI操作常用方法.docx

    4. HSSFCell:表示Excel中的一个单元格,可以设置其值和样式。 5. HSSFFont:用于定义单元格字体的样式,如颜色、大小、斜体等。 6. HSSFName:定义名称或公式引用。 7. HSSFDataFormat:用于设置单元格的数据格式,...

    poi,用java读写Excel

    - **样式设置**:通过`HSSFCellStyle`对象可以设置单元格的各种样式,例如字体、边框、背景色等。 - **数据格式化**:`HSSFDataFormat`对象用于设置日期和数字的显示格式。 - **图表支持**:虽然在早期版本的POI中不...

    POI html形式的文档

    8. **实战示例**:博客文章可能会提供具体的使用POI进行Excel操作的示例,如创建一个新的Excel文件,添加工作表,填充数据,设置样式,然后保存到磁盘。 通过这些知识点,开发者可以学习如何在Java项目中有效地利用...

Global site tag (gtag.js) - Google Analytics