Apache-POI-HSSF-and-XSSF-快速指南-帮助文档-API-poi-3.15

上传人:痛*** 文档编号:112016760 上传时间:2022-06-21 格式:DOC 页数:48 大小:192.50KB
收藏 版权申诉 举报 下载
Apache-POI-HSSF-and-XSSF-快速指南-帮助文档-API-poi-3.15_第1页
第1页 / 共48页
Apache-POI-HSSF-and-XSSF-快速指南-帮助文档-API-poi-3.15_第2页
第2页 / 共48页
Apache-POI-HSSF-and-XSSF-快速指南-帮助文档-API-poi-3.15_第3页
第3页 / 共48页
资源描述:

《Apache-POI-HSSF-and-XSSF-快速指南-帮助文档-API-poi-3.15》由会员分享,可在线阅读,更多相关《Apache-POI-HSSF-and-XSSF-快速指南-帮助文档-API-poi-3.15(48页珍藏版)》请在装配图网上搜索。

1、Apache POI HSSF and XSSF 快速指南 帮助文档 API poi-3.15目录1、如何创建一个新的Workbook32、如何创建一个表33、如何创建单元格34、如何创建日期单元格45、使用不同类型的单元格56、在行和单元格上的迭代57、获取单元格内容68、文本提取79、文件与InputStreams710、对齐单元格811、使用边界912、填充和颜色1013、合并单元格1114、使用字体1115、自定义颜色1316、读写1417、在单元格中使用换行符。1518、创建用户定义的数据格式1519、将单页调整为一页1620、设置工作表的打印区域1621、在工作表的页脚上设置页码1

2、722、移动行1723、将工作表设置为选定1724、设置工作页的缩放倍率1825、创建拆分和冻结窗格1826、重复行和列1927、页眉和页脚1928、绘图形状2029、造型形状2130、形状和Graphics2d2231、大纲2332、图片2333、命名范围和命元格2534、如何设置单元格注释2735、如何调整列宽以适合内容2836、超2937、数据验证3138、嵌入对象3839、自动过滤器4040、条件格式4041、隐藏和取消隐藏行4142、设置单元格属性4243、绘图边框4344、创建数据透视表4445、具有多种样式的单元格(富文本字符串)4546、使用方便的函数46Apache POI

3、HSSF and XSSF 快速指南 帮助文档 API poi-3.15参考版本为:poi-3.15 代码测试所用软件:NetBeans IDE8.2 希望对大家有所帮助提示:测试代码需要导入poi的全部以jar结尾的文件,导入到库中2016/10/18 Tuesday1、如何创建一个新的Workbook Workbook wb = new HSSFWorkbook(); FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close(); Workbook wb =

4、 new XSSFWorkbook(); FileOutputStream fileOut = new FileOutputStream(workbook.xlsx); wb.write(fileOut); fileOut.close();2、如何创建一个表 Workbook wb = new HSSFWorkbook(); /or new XSSFWorkbook(); Sheet sheet1 = wb.createSheet(new sheet); Sheet sheet2 = wb.createSheet(second sheet); /注意Excel工作表名称不得超过31个字符 /并

5、且不能包含以下任何字符: /0x0000、0x0003、冒号(:)、反斜杠()、星号(*)、问号(?)、正斜杠(/)、 /可以使用org.apache.poi.ss.util.WorkbookUtilcreateSafeSheetName(String nameProposal)/为了安全地创建有效名称,此实用程序用空格()替换无效字符 String safeName = WorkbookUtil.createSafeSheetName(OBriens sales*?); /returns OBriens sales Sheet sheet3 = wb.createSheet(safeName

6、); FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close();3、如何创建单元格 Workbook wb = new HSSFWorkbook(); /Workbook wb = new XSSFWorkbook(); CreationHelper createHelper = wb.getCreationHelper(); Sheet sheet = wb.createSheet(new sheet); /创建一个行并在其中放置一些单元格。 行号从0开始

7、。 Row row = sheet.createRow(short)0); /创建一个单元格并在其中放入一个值。 Cell cell = row.createCell(0); cell.setCellValue(1); /或在一行上。 row.createCell(1).setCellValue(1.2); row.createCell(2).setCellValue( createHelper.createRichTextString(This is a string); row.createCell(3).setCellValue(true); /将输出写入文件 FileOutputStr

8、eam fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close();4、如何创建日期单元格 Workbook wb = new HSSFWorkbook(); /Workbook wb = new XSSFWorkbook(); CreationHelper createHelper = wb.getCreationHelper(); Sheet sheet = wb.createSheet(new sheet); /创建一个行并在其中放置一些单元格。行为0 Row row = sheet.c

9、reateRow(0); /创建一个单元格并在其中放置一个日期值。第一个单元格没有样式 /作为日期 Cell cell = row.createCell(0); cell.setCellValue(new Date(); /我们将第二个单元格设置为日期(和时间)。重要的是 /从Workbook 创建一个新的单元格样式,否则你可以完毕 /修改内置样式,不仅影响这个单元格,而且影响其他单元格。 CellStyle cellStyle = wb.createCellStyle(); cellStyle.setDataFormat( createHelper.createDataFormat().ge

10、tFormat(m/d/yy h:mm); cell = row.createCell(1); cell.setCellValue(new Date(); cell.setCellStyle(cellStyle); /你也可以将日期设置为java.util.Calendar cell = row.createCell(2); cell.setCellValue(Calendar.getInstance(); cell.setCellStyle(cellStyle); /将输出写入文件 FileOutputStream fileOut = new FileOutputStream(workboo

11、k.xls); wb.write(fileOut); fileOut.close();5、使用不同类型的单元格 Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet(new sheet); Row row = sheet.createRow(short)2); row.createCell(0).setCellValue(1.1); row.createCell(1).setCellValue(new Date(); row.createCell(2).setCellValue(Calendar.getInstance()

12、; row.createCell(3).setCellValue(a string); row.createCell(4).setCellValue(true); row.createCell(5).setCellType(CellType.ERROR); /将输出写入文件 FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close();6、在行和单元格上的迭代在某些情况下,在迭代时,您需要完全控制如何处理缺失或空白行和单元格,并且您需要确保访问每个单元格,而不仅

13、仅是文件中定义的单元格。 (CellIterator只会返回文件中定义的单元格,这主要是具有值或样式的单元格,但它取决于Excel)。在这些情况下,您应该获取行的第一列和最后一列信息,然后调用getCell(int,MissingCellPolicy)来获取单元格。 使用MissingCellPolicy控制如何处理空白或空单元格。/决定要处理的行int rowStart = Math.min(15,sheet.getFirstRowNum();int rowEnd = Math.max(1400,sheet.getLastRowNum();for(int rowNum = rowStart;

14、 rowNum rowEnd; rowNum +) Row r = sheet.getRow(rowNum); if(r = null) /这整行是空的 /根据需要处理它continue; int lastColumn = Math.max(r.getLastCellNum(),MY_MINIMUM_COLUMN_COUNT);for(int cn = 0; cn lastColumn; cn +)Cell c = r.getCell(cn,Row.RETURN_BLANK_AS_NULL);if(c = null) /此单元格中的电子表格为空 else /做一些有用的单元格的内容 7、获取单

15、元格内容要获取单元格的内容,你首先需要知道它是什么样的单元格(例如,要求字符串单元格的数字内容会得到一个NumberFormatException)。 因此,您将需要打开单元格的类型,然后为该单元格调用适当的getter。在下面的代码中,我们循环遍历每个单元格,打印出单元格的引用(例如A3),然后打印单元格的内容。 DataFormatter formatter = new DataFormatter(); Sheet sheet1 = wb.getSheetAt(0); for (Row row : sheet1) for (Cell cell : row) CellReference ce

16、llRef = new CellReference(row.getRowNum(), cell.getColumnIndex(); System.out.print(cellRef.formatAsString(); System.out.print( - ); /通过获取单元格值并应用任何数据格式(日期,0.00,1.23e9,$ 1.23等)获取单元格中显示的文本。 String text = formatter.formatCellValue(cell); System.out.println(text); /或者,自己获取值和格式化 switch (cell.getCellTypeEn

17、um() case CellType.STRING:System.out.println(cell.getRichStringCellValue().getString(); break; case CellType.NUMERIC: if (DateUtil.isCellDateFormatted(cell) System.out.println(cell.getDateCellValue(); else System.out.println(cell.getNumericCellValue(); break; case CellType.BOOLEAN: System.out.printl

18、n(cell.getBooleanCellValue(); break; case CellType.FORMULA: System.out.println(cell.getCellFormula(); break; case CellType.BLANK: System.out.println(); break; default: System.out.println(); 8、文本提取 对于大多数文本提取需求,标准ExcelExtractor类应该提供了您所需要的。 InputStream inp = new FileInputStream(workbook.xls); HSSFWorkb

19、ook wb = new HSSFWorkbook(new POIFSFileSystem(inp); ExcelExtractor extractor = new ExcelExtractor(wb); extractor.setFormulasNotResults(true); extractor.setIncludeSheetNames(false); String text = extractor.getText();对于非常奇特的文本提取,XLS到CSV等,看看/src /examples /src /org /apache /poi /hssf /eventusermodel /e

20、xamples /XLS2CSV mra.java9、文件与InputStreams打开Workbook (.xls HSSFWorkbook或.xlsx XSSFWorkbook)时,可以从文件或InputStream加载Workbook 。 使用File对象允许较低的内存消耗,而InputStream需要更多的内存,因为它必须缓冲整个文件。如果使用WorkbookFactory,很容易使用一个或另一个:/使用文件 Workbook wb = WorkbookFactory.create(new File(MyExcel.xls); /使用InputStream,需要更多内存 Workboo

21、k wb = WorkbookFactory.create(new FileInputStream(MyExcel.xlsx);如果直接使用HSSFWorkbook或XSSFWorkbook,通常应该通过POIFSFileSystem或OPCPackage来完全控制生命周期(包括完成后关闭文件):/HSSFWorkbook, File NPOIFSFileSystem fs = new NPOIFSFileSystem(new File(file.xls); HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot(), true); . fs.close()

22、; /HSSFWorkbook, InputStream, 需要更多内存 NPOIFSFileSystem fs = new NPOIFSFileSystem(myInputStream); HSSFWorkbook wb = new HSSFWorkbook(fs.getRoot(), true); /XSSFWorkbook, File OPCPackage pkg = OPCPackage.open(new File(file.xlsx); XSSFWorkbook wb = new XSSFWorkbook(pkg); . pkg.close(); /XSSFWorkbook, Inp

23、utStream, 需要更多内存 OPCPackage pkg = OPCPackage.open(myInputStream); XSSFWorkbook wb = new XSSFWorkbook(pkg); . pkg.close();10、对齐单元格public static void main(String args) throws Exception Workbook wb = new XSSFWorkbook(); /or new HSSFWorkbook(); Sheet sheet = wb.createSheet(); Row row = sheet.createRow(s

24、hort) 2); row.setHeightInPoints(30); createCell(wb, row, (short) 0, CellStyle.ALIGN_CENTER, CellStyle.VERTICAL_BOTTOM); createCell(wb, row, (short) 1, CellStyle.ALIGN_CENTER_SELECTION, CellStyle.VERTICAL_BOTTOM); createCell(wb, row, (short) 2, CellStyle.ALIGN_FILL, CellStyle.VERTICAL_CENTER); create

25、Cell(wb, row, (short) 3, CellStyle.ALIGN_GENERAL, CellStyle.VERTICAL_CENTER); createCell(wb, row, (short) 4, CellStyle.ALIGN_JUSTIFY, CellStyle.VERTICAL_JUSTIFY); createCell(wb, row, (short) 5, CellStyle.ALIGN_LEFT, CellStyle.VERTICAL_TOP); createCell(wb, row, (short) 6, CellStyle.ALIGN_RIGHT, CellS

26、tyle.VERTICAL_TOP); /Write the output to a file FileOutputStream fileOut = new FileOutputStream(xssf-align.xlsx); wb.write(fileOut); fileOut.close(); /* *创建一个单元格并以某种方式对齐它。*:* param wbWorkbook * param row创建单元格的行 * param column创建单元格的列号 * param对齐单元格的水平对齐。* / private static void createCell(Workbook wb,

27、Row row, short column, short halign, short valign) Cell cell = row.createCell(column); cell.setCellValue(Align It); CellStyle cellStyle = wb.createCellStyle(); cellStyle.setAlignment(halign); cellStyle.setVerticalAlignment(valign); cell.setCellStyle(cellStyle); 11、使用边界 Workbook wb = new HSSFWorkbook

28、(); Sheet sheet = wb.createSheet(new sheet); /创建一个行并在其中放置一些单元格。行为0。 Row row = sheet.createRow(1); /创建一个单元格并在其中放入一个值。 Cell cell = row.createCell(1); cell.setCellValue(4); /使用边框为单元格设置样式。 CellStyle style = wb.createCellStyle(); style.setBorderBottom(CellStyle.BORDER_THIN); style.setBottomBorderColor(In

29、dexedColors.BLACK.getIndex(); style.setBorderLeft(CellStyle.BORDER_THIN); style.setLeftBorderColor(IndexedColors.GREEN.getIndex(); style.setBorderRight(CellStyle.BORDER_THIN); style.setRightBorderColor(IndexedColors.BLUE.getIndex(); style.setBorderTop(CellStyle.BORDER_MEDIUM_DASHED); style.setTopBor

30、derColor(IndexedColors.BLACK.getIndex(); cell.setCellStyle(style); /将输出写入文件 FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close();12、填充和颜色 Workbook wb = new XSSFWorkbook(); Sheet sheet = wb.createSheet(new sheet); /创建一个行并在其中放置一些单元格。 行为0。 Row row = sheet.cr

31、eateRow(short) 1); /Aqua背景 CellStyle style = wb.createCellStyle(); style.setFillBackgroundColor(IndexedColors.AQUA.getIndex(); style.setFillPattern(CellStyle.BIG_SPOTS); Cell cell = row.createCell(short) 1); cell.setCellValue(X); cell.setCellStyle(style); /橙色“前景”,前景是填充前景而不是字体颜色。 style = wb.createCel

32、lStyle(); style.setFillForegroundColor(IndexedColors.ORANGE.getIndex(); style.setFillPattern(CellStyle.SOLID_FOREGROUND); cell = row.createCell(short) 2); cell.setCellValue(X); cell.setCellStyle(style); /将输出写入文件 FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOu

33、t.close();13、合并单元格Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet(new sheet); Row row = sheet.createRow(short) 1); Cell cell = row.createCell(short) 1); cell.setCellValue(This is a test of merging); sheet.addMergedRegion(new CellRangeAddress( 1,/第一行(基于0) 1,/最后一行(0-based) 1,/第一列(基于0) 2

34、 /最后一列(从0开始) ); /将输出写入文件 FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close();14、使用字体 Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet(new sheet); /创建一个行并在其中放置一些单元格。 行为0。 Row row = sheet.createRow(1); /创建一个新的字体并修改它。 Font font = wb.createFont

35、(); font.setFontHeightInPoints(short)24); font.setFontName(Courier New); font.setItalic(true); font.setStrikeout(true); /字体设置为样式,以创建一个新的来使用。 CellStyle style = wb.createCellStyle(); style.setFont(font); /创建一个单元格并在其中放入一个值 Cell cell = row.createCell(1); cell.setCellValue(This is a test of fonts); cell.

36、setCellStyle(style); /将输出写入文件 FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close();注意,Workbook 中唯一字体的最大数量限制为32767(最大正短)。 您应该在应用程序中重用字体,而不是为每个单元格创建字体。 例子:Wrong: for (int i = 0; i 10000; i+) Row row = sheet.createRow(i); Cell cell = row.createCell(short) 0)

37、; CellStyle style = workbook.createCellStyle(); Font font = workbook.createFont(); font.setBoldweight(Font.BOLDWEIGHT_BOLD); style.setFont(font); cell.setCellStyle(style); Correct: CellStyle style = workbook.createCellStyle(); Font font = workbook.createFont(); font.setBoldweight(Font.BOLDWEIGHT_BOL

38、D); style.setFont(font); for (int i = 0; i 10000; i+) Row row = sheet.createRow(i); Cell cell = row.createCell(short) 0); cell.setCellStyle(style); 15、自定义颜色HSSF: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(); HSSFRow row = sheet.createRow(short) 0); HSSFCell cell = row.cre

39、ateCell(short) 0); cell.setCellValue(Default Palette); /从标准调色板应用一些颜色, /如前面的例子。 /我们将在石灰背景上使用红色文本 HSSFCellStyle style = wb.createCellStyle(); style.setFillForegroundColor(HSSFColor.LIME.index); style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); HSSFFont font = wb.createFont(); font.setColor(HSSFCol

40、or.RED.index); style.setFont(font); cell.setCellStyle(style); /保存为默认调色板 FileOutputStream out = new FileOutputStream(default_palette.xls); wb.write(out); out.close(); /现在,让我们在调色板中替换RED和LIME /具有更有吸引力的组合 /(可爱地借用了freebsd.org) cell.setCellValue(Modified Palette); /为Workbook 创建自定义调色板 HSSFPalette palette =

41、 wb.getCustomPalette(); /用freebsd.org red替换标准红色 palette.setColorAtIndex(HSSFColor.RED.index, (byte) 153, /RGB red (0-255) (byte) 0, /RGB green (byte) 0 /RGB blue ); /用freebsd.org金取代石灰 palette.setColorAtIndex(HSSFColor.LIME.index, (byte) 255, (byte) 204, (byte) 102); /用修改的调色板保存 /注意,无论我们以前使用过RED还是LIME

42、, /新颜色神奇地出现 out = new FileOutputStream(modified_palette.xls); wb.write(out); out.close();XSSF: XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = wb.createSheet(); XSSFRow row = sheet.createRow(0); XSSFCell cell = row.createCell( 0); cell.setCellValue(custom XSSF colors); XSSFCellStyle style1 =

43、 wb.createCellStyle(); style1.setFillForegroundColor(new XSSFColor(new java.awt.Color(128, 0, 128); style1.setFillPattern(CellStyle.SOLID_FOREGROUND);16、读写 InputStream inp = new FileInputStream(workbook.xls); /InputStream inp = new FileInputStream(workbook.xlsx); Workbook wb = WorkbookFactory.create

44、(inp); Sheet sheet = wb.getSheetAt(0); Row row = sheet.getRow(2); Cell cell = row.getCell(3); if (cell = null) cell = row.createCell(3); cell.setCellType(CellType.STRING); cell.setCellValue(a test); /Write the output to a file FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(f

45、ileOut); fileOut.close();17、在单元格中使用换行符。Workbook wb = new XSSFWorkbook(); /or new HSSFWorkbook(); Sheet sheet = wb.createSheet(); Row row = sheet.createRow(2); Cell cell = row.createCell(2); cell.setCellValue(Use n with word wrap on to create a new line); /启用换行符,你需要设置一个单元格样式与wrap = true CellStyle cs

46、= wb.createCellStyle(); cs.setWrapText(true); cell.setCellStyle(cs); /增加行高以容纳两行文本 row.setHeightInPoints(2*sheet.getDefaultRowHeightInPoints(); /调整列宽以适合内容 sheet.autoSizeColumn(short)2); FileOutputStream fileOut = new FileOutputStream(ooxml-newlines.xlsx); wb.write(fileOut); fileOut.close();18、创建用户定义的

47、数据格式 Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet(format sheet); CellStyle style; DataFormat format = wb.createDataFormat(); Row row; Cell cell; short rowNum = 0; short colNum = 0; row = sheet.createRow(rowNum+); cell = row.createCell(colNum); cell.setCellValue(11111.25); style = w

48、b.createCellStyle(); style.setDataFormat(format.getFormat(0.0); cell.setCellStyle(style); row = sheet.createRow(rowNum+); cell = row.createCell(colNum); cell.setCellValue(11111.25); style = wb.createCellStyle(); style.setDataFormat(format.getFormat(#,#0.0000); cell.setCellStyle(style); FileOutputStr

49、eam fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close();19、将单页调整为一页Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet(format sheet); PrintSetup ps = sheet.getPrintSetup(); sheet.setAutobreaks(true); ps.setFitHeight(short)1); ps.setFitWidth(short)1); /为电子表格创建各

50、种单元格和行。 FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close();20、设置工作表的打印区域Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet(Sheet1); /设置第一张纸的打印区域 wb.setPrintArea(0, $A$1:$C$2); /或者 wb.setPrintArea( 0,/sheet index 0,/开始列 1,/完毕列 0,/开始行 0 /完毕行 )

51、; FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close();21、在工作表的页脚上设置页码Workbook wb = new HSSFWorkbook(); /or new XSSFWorkbook(); Sheet sheet = wb.createSheet(format sheet); Footer footer = sheet.getFooter(); footer.setRight( Page + HeaderFooter.page() + of

52、 + HeaderFooter.numPages() ); /为电子表格创建各种单元格和行。 FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close();22、移动行 Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet(row sheet); /为电子表格创建各种单元格和行。 /将电子表格上的行6 - 11移到顶部(行0 - 5) sheet.shiftRows(5, 10, -5);2

53、3、将工作表设置为选定Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet(row sheet); sheet.setSelected(true);24、设置工作页的缩放倍率Workbook wb = new HSSFWorkbook(); Sheet sheet1 = wb.createSheet(new sheet); sheet1.setZoom(75); /75放大率25、创建拆分和冻结窗格有两种类型的窗格可以创建;冻结窗格和分割窗格。冻结窗格按列和行进行拆分。您可以使用以下机制创建冻结窗格:sheet1.crea

54、teFreezePane(3,2,3,2);前两个参数是要拆分的列和行。后两个参数指示在右下象限中可见的单元格。拆分窗格显示方式不同。分割区域分为四个独立的工作区域。分割发生在像素级别,并且用户能够通过将其拖动到新位置来调整分割。使用以下调用创建分割窗格:sheet2.createSplitPane(2000,2000,0,0,Sheet.PANE_LOWER_LEFT);第一个参数是拆分的x位置。这是一点的1/20。在这种情况下,点似乎等于一个像素。第二个参数是拆分的y位置。再次在1/20的一点。最后一个参数指示当前具有焦点的窗格。这将是Sheet.PANE_LOWER_LEFT,PANE_

55、LOWER_RIGHT,PANE_UPPER_RIGHT或PANE_UPPER_LEFT之一。Workbook wb = new HSSFWorkbook(); Sheet sheet1 = wb.createSheet(new sheet); Sheet sheet2 = wb.createSheet(second sheet); Sheet sheet3 = wb.createSheet(third sheet); Sheet sheet4 = wb.createSheet(fourth sheet); /只冻结一行 sheet1.createFreezePane( 0, 1, 0, 1

56、); /只冻结一列 sheet2.createFreezePane( 1, 0, 1, 0 ); /冻结列和行(忽略右下象限的滚动位置)。 sheet3.createFreezePane( 2, 2 ); /创建一个分割,左下角为活动象限 sheet4.createSplitPane( 2000, 2000, 0, 0, Sheet.PANE_LOWER_LEFT ); FileOutputStream fileOut = new FileOutputStream(workbook.xls); wb.write(fileOut); fileOut.close();26、重复行和列可以使用She

57、et类中的setRepeatingRows()和setRepeatingColumns()方法在打印输出中设置重复的行和列。这些方法需要一个CellRangeAddress参数,指定要重复的行或列的范围。对于setRepeatingRows(),它应该指定要重复的行范围,列部分跨越所有列。对于setRepeatingColums(),它应该指定要重复的列的范围,行部分跨越所有行。如果参数为null,则重复的行或列将被删除。 Workbook wb = new HSSFWorkbook(); /or new XSSFWorkbook(); Sheet sheet1 = wb.createSheet(Sheet1); Sheet sheet2 = wb.createSheet(Sheet2); /将行设置为在第一个工作表上从第4行重复到第5行。 sheet1.setRepeatingRows(CellRangeAddress.valueOf(4:5); /将列设置为在第二个工作表上从A列重复到C sheet2.setRepeatingColumns(CellRangeAddress.valueOf(A:C); FileOutputStream fileOut = new FileOutp

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!