java表格实例
java创建excel的常用方法

java创建excel的常用方法
Java中创建Excel文件有多种方法,以下是一些常用的方法:
1. Apache POI库,Apache POI是一个用于读写Microsoft Office文件的开源库,可以使用它来创建和编辑Excel文件。
通过POI库,可以创建工作簿(Workbook)、工作表(Sheet)、单元格(Cell)等对象,然后填充数据并保存为Excel文件。
这是Java中
创建Excel文件最常用的方法之一。
2. JExcelApi库,JExcelApi也是一个用于操作Excel文件的
开源库,它提供了创建、读取和修改Excel文件的功能。
通过JExcelApi,可以创建工作簿、工作表,并向单元格中写入数据,最
后保存为Excel文件。
3. 使用Java的CSV库,虽然CSV文件不是真正的Excel文件,但在某些情况下也可以满足需求。
Java中有一些CSV库可以用来创
建和编辑CSV文件,例如OpenCSV和uniVocity等。
这些库可以将
数据写入CSV格式的文件,然后可以通过Excel等软件打开并保存
为Excel文件。
4. 使用第三方Excel库,除了上述提到的库外,还有一些第三
方的商业库,如Aspose.Cells,可以用来创建和编辑Excel文件。
这些库通常提供了更丰富的功能和更好的性能,但需要购买许可证。
总的来说,以上列举的方法是Java中创建Excel文件的常用方法。
选择合适的方法取决于具体的需求和项目的要求。
希望这些信
息能够帮助到你。
利用Java进行Excel的数据导入导出 ppt课件

Workbook.getWorkbook(is); } catch (Exception e) {e.printStackTrace(
);} 一旦创建了 Workbook,我们就可以通过它来访问Excel Sheet(术语: 工作表)。代码如 下:
//获取第一张She
et 表
Sheet rs=rwb.getSheet(0); 我们既可能通过Sheet 的名称来访问它,也可以通过下标 来访问它。如果通过
me()); sheet.setColumnView(2, 10); sheet.addCell(label); //添加作业标题
label=new Label(3,row,item.getTaskTitle()); sheet.setColumnView(3, 30
); sheet.addCell(label); // 添加完成时间 SimpleDateFormat sdf=new SimpleD
leFont(WritableFont.TIMES,18, WritableFont.BOLD, true); jxl.write.Wr
itableCellFormat wcfF=new jxl.write.WritableCellFormat(wf); jxl.write
.Label labelCF=new bel(1, 0, "This is a Label Cell", wcfF)
heet.setColumnView(0, 20); sheet.addCell(label); //添加班级 label=new L
abel(1, row, item.getClassGroupName()); sheet.setColumnView(1, 50);
Java 创建Word嵌套表格

Java 在Word中创建嵌套表格嵌套表格,即在一个大的表格单元格中再嵌进去一个或几个小的表格,使表格内容布局合理。
本文将通过java程序来演示如何在Word中创建嵌套表格。
使用工具:Free Spire.Doc for Java (免费版)Jar文件获取及导入:方法1:通过官网下载文件包。
下载后,解压文件,并将lib文件夹下的Spire.Doc.jar 文件导入java程序。
方法2:通过maven仓库安装导入,可参考导入方法。
Java代码示例import com.spire.doc.*;import com.spire.doc.documents.*;import com.spire.doc.fields.TextRange;public class NestedTable {public static void main(String[]args){//加载测试文档Document doc = new Document("sample.docx");//获取指定表格中的单元格,并设置行高、列宽Section sec = doc.getSections().get(0);Table table = sec.getTables().get(0);table.getRows().get(0).setHeight(120f);table.getRows().get(0).getCells().get(0).setWidth(380);//添加嵌套表格到指定单元格Table nestedtable = table.get(0,0).addTable(true);nestedtable.getTableFormat().setHorizontalAlignment(RowAlignment.Center);//设置嵌套表格在单元格中的对齐方式nestedtable.resetCells(4,4);//指定嵌套表格行数、列数nestedtable.autoFit(AutoFitBehaviorType.Auto_Fit_To_Contents);//设置嵌套表格内容自适应方法//声明表格数组内容String[][] data ={new String[]{"编号","产区","最新型号","生产日期",},new String[]{"1","A","V2.2.0","2019-06-21"},new String[]{"2","B","V2.6.1","2019-06-18"},new String[]{"3","C","V2.6.2","2019-06-14"},};//填充数组内容到嵌套表格for (int i = 0; i < data.length; i++) {TableRow dataRow = nestedtable.getRows().get(i);dataRow.getCells().get(i).setWidth(160);dataRow.setHeight(25);dataRow.setHeightType(TableRowHeightType.Exactly);for (int j = 0; j < data[i].length; j++) {dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle); TextRange range =dataRow.getCells().get(j).addParagraph().appendText(data[i][j]);range.getCharacterFormat().setFontName("楷体");range.getCharacterFormat().setFontSize(11f);range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center); }}//保存文档doc.saveToFile("nesedtable1.docx",FileFormat.Docx_2010);}}嵌套表格添加效果:(本文完)。
java导出包含多个sheet的Excel代码示例

java导出包含多个sheet的Excel代码⽰例本⽂实例为⼤家分享了java导出包含多个sheet的Excel的具体代码,供⼤家参考,具体内容如下要导出多个sheet,关键就是Excel导出的时间设定,在执⾏导出⽂件之前,创建多个⼯作表HSSFSheet sheet = workbook.createSheet(sheettitle);这样每创建⼀个⼯作表,便会⽣成⼀个新的sheet表,在最后导出Excel的时候⼀次性导出。
⽰例:Java类:try {HSSFWorkbook workbook = new HSSFWorkbook();OutputStream out = response.getOutputStream();for(int j=0;j<n;j++){BaseResult<List<T>> teasalList = service.select(teasal);//接下来循环list放到Excel表中if(teasalList.isSuccess()&&teasalList.getResult().size()>0){//⽂件标题SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");String nowdate = formatter1.format(new Date());String title = null;title = "excel表格标题-" + nowdate + ".xls";String sheettitle = "sheet表名";//设置表格标题⾏String oneheaders = "⾸⾏标题" ;String dateheaders = nowdate ;String[] headers = new String[] {"列1","列2","列3","列4"};List<Object[]> dataList = new ArrayList<Object[]>();Object[] objs = null;for(int i =0; i<3 ; i++){ //循环每⼀条数据objs = new Object[headers.length];objs[1] = "张三"; //姓名objs[2] = "3"; //序号//数据添加到excel表格dataList.add(objs);}//使⽤流将数据导出//防⽌中⽂乱码String headStr = "attachment; filename=\"" + new String( title.getBytes("gb2312"), "ISO8859-1" ) + "\"";response.setContentType("octets/stream");response.setContentType("APPLICATION/OCTET-STREAM");response.setHeader("Content-Disposition", headStr);ExportExcelDownFee ex ;ex = new ExportExcelDownFee(sheettitle, oneheaders, dateheaders,headers, dataList);//没有标题ex.export(workbook,out);}}workbook.write(out); //循环⽣成多个sheet之后在导出Excelout.close(); //关闭流} catch (Exception e) {e.printStackTrace();}⼯具类:public class ExportExcelDownFee {//导出表的列名private String[] rowName ;//导出表的⼩标题private String oneheaders;//导出表的⽇期private String dateheaders;//sheet表表名private String sheettitle;private List<Object[]> dataList = new ArrayList<Object[]>();HttpServletResponse response;//构造⽅法2,传⼊要导出的数据public ExportExcelDownFee( String sheettitle, String oneheaders, String dateheaders, String[] rowName,List<Object[]> dataList){ this.dataList = dataList;this.oneheaders = oneheaders;this.dateheaders = dateheaders;this.rowName = rowName;this.sheettitle = sheettitle;}/** 导出数据* */public void export(HSSFWorkbook workbook,OutputStream out) throws Exception{try{HSSFSheet sheet = workbook.createSheet(sheettitle); // 创建⼯作表HSSFCellStyle columnTopStyle = this.getColumnTopStyle(workbook);//获取列头样式对象HSSFCellStyle style = this.getStyle(workbook); //单元格样式对象//第⼀⾏HSSFRow rowfirstName = sheet.createRow(0);HSSFCell oneCellRowName = rowfirstName.createCell(0); //创建列头对应个数的单元格oneCellRowName.setCellType(HSSFCell.CELL_TYPE_STRING); //设置列头单元格的数据类型HSSFRichTextString onetext = new HSSFRichTextString(oneheaders);oneCellRowName.setCellValue(onetext); //设置列头单元格的值//合并单元格CellRangeAddress构造参数依次表⽰起始⾏,截⾄⾏,起始列,截⾄列sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));oneCellRowName.setCellStyle(columnTopStyle); //设置列头单元格样式//第⼆⾏HSSFRow rowDateName = sheet.createRow(1);HSSFCell DateCellRowName = rowDateName.createCell(3);DateCellRowName.setCellValue(dateheaders);DateCellRowName.setCellStyle(columnTopStyle);// 定义所需列数int columnNum = rowName.length;HSSFRow rowRowName = sheet.createRow(2); // 在索引2的位置创建⾏(最顶端的⾏开始的第⼆⾏)// 将列头设置到sheet的单元格中for(int n=0;n<columnNum;n++){HSSFCell cellRowName = rowRowName.createCell(n); //创建列头对应个数的单元格cellRowName.setCellType(HSSFCell.CELL_TYPE_STRING); //设置列头单元格的数据类型HSSFRichTextString text = new HSSFRichTextString(rowName[n]);cellRowName.setCellValue(text); //设置列头单元格的值cellRowName.setCellStyle(style); //设置列头单元格样式}//将查询出的数据设置到sheet对应的单元格中for(int i=0;i<dataList.size();i++){Object[] obj = dataList.get(i);//遍历每个对象HSSFRow row = sheet.createRow(i+3);//创建所需的⾏数(从第⼆⾏开始写数据)for(int j=0; j<obj.length; j++){HSSFCell cell = null; //设置单元格的数据类型if(j == 0){cell = row.createCell(j,HSSFCell.CELL_TYPE_NUMERIC);cell.setCellValue(i+1);}else{cell = row.createCell(j,HSSFCell.CELL_TYPE_STRING);if(!"".equals(obj[j]) && obj[j] != null){cell.setCellValue(obj[j].toString()); //设置单元格的值}}cell.setCellStyle(style); //设置单元格样式}}//让列宽随着导出的列长⾃动适应for (int colNum = 0; colNum < columnNum; colNum++) {int columnWidth = sheet.getColumnWidth(colNum) / 256;for (int rowNum = 0; rowNum < sheet.getLastRowNum(); rowNum++) {HSSFRow currentRow;//当前⾏未被使⽤过if (sheet.getRow(rowNum) == null) {currentRow = sheet.createRow(rowNum);} else {currentRow = sheet.getRow(rowNum);}if (currentRow.getCell(colNum) != null) {HSSFCell currentCell = currentRow.getCell(colNum);if (currentCell.getCellType() == HSSFCell.CELL_TYPE_STRING) { int length = 0;try {length = currentCell.getStringCellValue().getBytes().length;} catch (Exception e) {e.printStackTrace();}if (columnWidth < length) {columnWidth = length;}}}}if(colNum == 0){sheet.setColumnWidth(colNum, (columnWidth-2) * 256);}else{sheet.setColumnWidth(colNum, (columnWidth+4) * 256);}}}catch(Exception e){e.printStackTrace();}}/** 列头单元格样式*/public HSSFCellStyle getColumnTopStyle(HSSFWorkbook workbook) { // 设置字体HSSFFont font = workbook.createFont();//设置字体⼤⼩font.setFontHeightInPoints((short)11);//字体加粗//font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//设置字体名字font.setFontName("宋体");//设置样式;HSSFCellStyle style = workbook.createCellStyle();//在样式⽤应⽤设置的字体;style.setFont(font);//设置⾃动换⾏;style.setWrapText(false);//设置⽔平对齐的样式为居中对齐;style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//设置垂直对齐的样式为居中对齐;style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);return style;}/** 列数据信息单元格样式*/public HSSFCellStyle getStyle(HSSFWorkbook workbook) {// 设置字体HSSFFont font = workbook.createFont();//设置字体名字font.setFontName("宋体");//设置样式;HSSFCellStyle style = workbook.createCellStyle();//设置底边框;style.setBorderBottom(HSSFCellStyle.BORDER_THIN);//设置底边框颜⾊;style.setBottomBorderColor(HSSFColor.BLACK.index);//设置左边框;style.setBorderLeft(HSSFCellStyle.BORDER_THIN);//设置左边框颜⾊;style.setLeftBorderColor(HSSFColor.BLACK.index);//设置右边框;style.setBorderRight(HSSFCellStyle.BORDER_THIN);//设置右边框颜⾊;style.setRightBorderColor(HSSFColor.BLACK.index);//设置顶边框;style.setBorderTop(HSSFCellStyle.BORDER_THIN);//设置顶边框颜⾊;style.setTopBorderColor(HSSFColor.BLACK.index);//在样式⽤应⽤设置的字体;style.setFont(font);//设置⾃动换⾏;style.setWrapText(false);//设置⽔平对齐的样式为居中对齐;style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//设置垂直对齐的样式为居中对齐;style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);return style;}}以上所述是⼩编给⼤家介绍的java导出包含多个sheet的Excel代码⽰例详解整合,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
Java操作Excel之JXL(填充EXCEL模板)转载

Java操作Excel之JXL(填充EXCEL模板)转载Java操作Excel之理解JXL--读取Excel 说到如何⽤JXL读取Excel⽂件,现在来看看如何读取Excel模板然后把动态数据写⼊到模板以⽣成特定格式的Excel。
同样的思路,先来考虑下会涉及到那些对象,和上篇⽂章读取相⽐这⾥涉及到⼀个写⼊的步骤,所以JXL必然会提供⼀个对象来⽀持写⼊,这就是WritableWorkbook。
那么如何得到到这个类的实例,查看APIDoc发现Workbook类提供了⼏个静态的createWorkbook⽅法返回WritableWorkbook实例,可以看到众多createWorkbook⽅法主要分为两类:⼀个参数和两个参数。
简单分析可以得知前者仅仅是⽤来直接⽣成Excel⽂件,后者先读取模板再向模板写⼊数据然后⽣成Excel。
(还有⼀个三参数⽅法加上⼀个⽤来设置workbook的参数)现在按照上篇⽂章中所讲述的流程来看看读取模板并写⼊需要那些步骤。
第⼀步:选择模板⽂件:Workbook wb = Workbook.getWorkbook(new File(realpath));第⼆步:通过模板得到⼀个可写的Workbook:WritableWorkbook wwb = Workbook.createWorkbook(targetFile, wb);第⼀个参数是⼀个输出流对象,⽐如可以ByteArrayOutputStream targetFile = new ByteArrayOutputStream();这样定义这个输出流对象。
第⼆个参数代表了要读取的模板。
第三步:选择模板中名称为StateResult的Sheet:WritableSheet wws = wwb.getSheet("StateResult");如果需要也可以创建SheetWritableSheet wws = wwb.createSheet("Sheet名称",i);第四步:选择单元格,写⼊动态值,根据单元格的不同类型转换成相应类型的单元格:Label A1 = (Label)wws.getWritableCell(0,0);A1.setString("单元格内容")或Number A2 = (Number)wws.getWritableCell(0,1);//Number是jxl.write.NumberA2.setValue(3.3);也可以创建新的单元格并且加⼊到Sheet中Label C1 = new Label(2,0,"单元格内容");wws.addCell(C1);或Number C1 = new Number(2,0,3.3);wws.addCell(C1);在⽣成Excel报表的时候还会遇到⼀种需求就是数据的格式问题,我们可能希望数值型单元格以某种格式显⽰,⽽字符串型单元格以另⼀种格式显⽰。
JavaiText5.5.1绘制PDF表格

JavaiText5.5.1绘制PDF表格会有两个⽂件夹:extrajars中的extrajars-2.3.jar⽂件⽤于解决中⽂不显⽰的问题。
将下载的itext-5.5.1⽂件解压之后,将itextpdf-5.5.1.jar导⼊就可以使⽤了。
由于在使⽤过程中没有API 参考,以及⽹上的资料都是之前⽼版本的,所以⼀些⽤法都是经过不断的尝试得出来的。
要⽣成的PDF表格如下两幅图所⽰:iText简单介绍:(1) iText中⽤⽂本块(Chunk)、短语(Phrase)和段落(paragraph)处理⽂本;(2)⽂本块(Chunk)是处理⽂本的最⼩单位,有⼀串带格式(包括字体、颜⾊、⼤⼩)的字符串组成;(3)短语(Phrase)由⼀个或多个⽂本块(Chunk)组成,短语(Phrase)也可以设定字体,但对于其中以设定过字体的⽂本块(Chunk)⽆效;(4)段落(paragraph)由⼀个或多个⽂本块(Chunk)或短语(Phrase)组成,相当于WORD⽂档中的段落概念,同样可以设定段落的字体⼤⼩、颜⾊等属性。
另外也可以设定段落的⾸⾏缩进、对齐⽅式(左对齐、右对齐、居中对齐)。
通过函数setAlignment可以设定段落的对齐⽅式, setAlignment的参数1为居中对齐、2为右对齐、3为左对齐,默认为左对齐。
(5)表格(PdfPTable),通过添加列(PdfPCell)来拼凑表格,顺序是从左到右、从上到下,可以通过setBorderWidth()⽅法设置列的边框宽度,setRowspan()设置此列横跨⼏⾏,setColspan()设置此列横跨⼏列。
对于列的详细设置可以通过.set查看。
代码:⼀个⼯具类1public class FpdkImportPDF {23/**4 * 代开增值税专⽤发票缴纳税款申报单5*/6public static void dkzzszyfp() {7// 1:建⽴Document对象实例8 Document document = new Document();9try {10// 2:建⽴⼀个PDF 写⼊器与document对象关联通过书写器(Writer)可以将⽂档写⼊到磁盘中11 StringBuilder filename = new StringBuilder();12 filename.append("代开增值税专⽤发票缴纳税款申报单").append(new SimpleDateFormat("yyyyMMddHHmm").format(new Date())).append(".pdf");13 PdfWriter.getInstance(document, new FileOutputStream(filename.toString()));1415// 3:打开⽂档16 document.open();1718//解决中⽂不显⽰问题19 BaseFont bfChinese = BaseFont.createFont("STSong-Light","UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);20 Font fontChina18 = new Font(bfChinese, 18);21 Font fontChina12 = new Font(bfChinese, 12);2223// 4:向⽂档添加内容24// 标题25 Paragraph titleParagraph = new Paragraph("代开增值税专⽤发票缴纳税款申报单",fontChina18);26 titleParagraph.setAlignment(Element.ALIGN_CENTER);// 居中27 document.add(titleParagraph);2829// 空格30 Paragraph blank1 = new Paragraph(" ");31 document.add(blank1);3233// 编号34 Chunk c1 = new Chunk("编号:", fontChina12);35 Chunk c2 = new Chunk("20140531001", fontChina12);36 Paragraph snoParagraph = new Paragraph();37 snoParagraph.add(c1);38 snoParagraph.add(c2);39 snoParagraph.setAlignment(Element.ALIGN_RIGHT);40 document.add(snoParagraph);4142// 空格43 document.add(blank1);4445// 代开税务机关46 Chunk c3 = new Chunk("代开税务机关名称:青岛经济技术开发区国税局", fontChina12);47 Paragraph dkswjgParagraph = new Paragraph();48 dkswjgParagraph.add(c3);49 dkswjgParagraph.setAlignment(Element.ALIGN_LEFT);50 document.add(dkswjgParagraph);5152// 提醒53 String alert = "我单位提供的开票资料真实、完整、准确,符合有关法律、法规,否则我单位将承担⼀切法律责任,现申请代开增值税专⽤发票。
java操作Excel 详解
{ for ( int j = 0 ; j < columnum; j ++ ) {
Cell cell1 = sheet.getCell(j, i);
String result = cell1.getContents(); System.out.print(result);
System.out.print( " \t " );
JXL 操作 Excel
Jxl create 代码 java 表格操作类库 jxl poi jxl 是一个韩国人写的 java 操作 excel 的工具, 在开源世界中,有两套比较有影响的 API 可供使用,一 个是 POI,一个是 jExcelAPI。其中功能相对 POI 比较弱一点。但 jExcelAPI 对中文支持非常好,API 是纯 Java 的,并不依赖 Windows 系统,即使运行在 Linux 下,它同样能够正确的处理 Excel 文件。另 外需要说明的是,这套 API 对图形和图表的支持很有限,而且仅仅识别 PNG 格式。 使用如下: 搭建环境 将下载后的文件解包,得到 jxl.jar,放入 classpath,安装就完成了。 基本操作 一、创建、写入文件 拟生成一个名为“test.xls”的 Excel 文件,其中第一个工作表被命名为 “第一页”,大致效果如下: package test;
public class UpdateExcel { public static void main(String args[]) { try { // Excel 获得文件 Workbook wb = Workbook.getWorkbook( new File( " test.xls " )); // 打开一个文件的副本,并且指定数据写回到原文件 WritableWorkbook book = Workbook.createWorkbook( new File( " test.xls " ), wb); // 添加一个工作表 WritableSheet sheet = book.createSheet( " 第二页 " , 1 ); sheet.addCell( new Label( 0 , 0 , " 第二页的测试数据 " )); book.write(); book.close(); } catch (Exception e) { System.out.println(e); } }
【JavaScript】JAVA-表格里的c:foreach使用及数字总计
【JavaScript】JAVA-表格⾥的c:foreach使⽤及数字总计两步:1.上图2.上代码1 <div class="group-accordion" collapsible="true" active="true">2 <h3>3 <label>供应商库存在线查看</label>4 </h3>5 <div>6 <table class="dataTable no-footer" id="DS173101ProductTable" style="width: 100%">7 <thead>8 <tr style="background:#DBDBDB">9 <th>产品名称</th>10 <th>产品规格</th>11 <th>⽉度计划供应量(KG)</th>12 <th>⽉度未完成计划供应量</th>13 <th>计划⽣产量</th>14 <th>待运库⼊库量</th>15 <th>在途产品量</th>16 <th>物流区销售库存量</th>17 <th>在线三旬销售量预测</th>18 <th>销售安全库存量</th>19 <th>操作</th>20 </tr>21 </thead>2223 <tbody>24 <c:set var="s" value="0"></c:set>25 <c:set var="s1" value="0"></c:set>26 <c:set var="s2" value="0"></c:set>27 <c:set var="s3" value="0"></c:set>28 <c:set var="s4" value="0"></c:set>29 <c:set var="s5" value="0"></c:set>30 <c:set var="s6" value="0"></c:set>31 <c:set var="s7" value="0"></c:set>32 <c:forEach items="${biglist}" var="biglist" varStatus="j">3334 <c:set var="sum" value="0"></c:set>35 <c:set var="sum1" value="0"></c:set>36 <c:set var="sum2" value="0"></c:set>37 <c:set var="sum3" value="0"></c:set>38 <c:set var="sum4" value="0"></c:set>39 <c:set var="sum5" value="0"></c:set>40 <c:set var="sum6" value="0"></c:set>41 <c:set var="sum7" value="0"></c:set>42 <c:forEach items="${biglist.list}" var="item" varStatus="i">43 <tr>444546 <c:if test="${i.index==0}">47 <td rowspan="${fn:length(biglist.list)+1}">${item.classes}</td>48 </c:if>4950 <td>${item.two}</td>515253 <td>${item.three}</td>54 <c:set var="sum" value="${item.three+sum}"></c:set>5556 <td>${item.four}</td>57 <c:set var="sum1" value="${item.four+sum1}"></c:set>5859 <td>${item.five}</td>60 <c:set var="sum2" value="${item.five+sum2}"></c:set>6162 <td>${item.six}</td>63 <c:set var="sum3" value="${item.six+sum3}"></c:set>6465 <td>${item.serven}</td>66 <c:set var="sum4" value="${item.serven+sum4}"></c:set>6768 <td>${item.eight}</td>69 <c:set var="sum5" value="${item.eight+sum5}"></c:set>7071 <td>${item.nine}</td>72 <c:set var="sum6" value="${item.nine+sum6}"></c:set>7374 <td>${item.ten}</td>75 <c:set var="sum7" value="${item.ten+sum7}"></c:set>7677 <c:if test="${i.index==0}">78 <td rowspan="${fn:length(biglist.list)+1}"><msk:button buttonValue="计划调整" buttonId="DS173101.SEARCH" buttonType="button"/></td>79 </c:if>8081 </tr>82 </c:forEach>83848586 <tr style="background:#DBDBDB">87 <td align="center">⼩计</td>88 <td>${sum}</td>89 <c:set var="s" value="${sum+s}"></c:set>90 <td>${sum1}</td>91 <c:set var="s1" value="${sum1+s1}"></c:set>92 <td>${sum2}</td>93 <c:set var="s2" value="${sum2+s2}"></c:set>94 <td>${sum3}</td>95 <c:set var="s3" value="${sum3+s3}"></c:set>96 <td>${sum4}</td>97 <c:set var="s4" value="${sum4+s4}"></c:set>98 <td>${sum5}</td>99 <c:set var="s5" value="${sum5+s5}"></c:set>100 <td>${sum6}</td>101 <c:set var="s6" value="${sum6+s6}"></c:set>102 <td>${sum7}</td>103 <c:set var="s7" value="${sum7+s7}"></c:set>104 </tr>105 </c:forEach>106107 <tr style="background:#DBDBDB">108 <td colspan="2" align="center">总计</td>109 <td>${s}</td>110 <td>${s1}</td>111 <td>${s2}</td>112 <td>${s3}</td>113 <td>${s4}</td>114 <td>${s5}</td>115 <td>${s6}</td>116 <td>${s7}</td>117 <td></td>118119 </tr>120121 </tbody>122 </table>123 </div>124 </div>。
java sheet 的相关方法
java sheet 的相关方法Java的Sheet类是Apache POI库中的一个重要类,用于操作Excel 文件中的工作表。
通过Sheet类提供的相关方法,我们可以实现对Excel文件的创建、读取、修改和删除等操作。
本文将介绍Sheet 类的常用方法,并给出相应的示例代码,以帮助读者更好地理解和应用这些方法。
一、创建Sheet1. createRow(int rowIndex):在工作表中创建一行,参数为行索引。
示例代码:```javaSheet sheet = workbook.createSheet("Sheet1");Row row = sheet.createRow(0);```2. setColumnWidth(int columnIndex, int width):设置指定列的宽度,参数为列索引和宽度值(单位为字符数)。
示例代码:```javasheet.setColumnWidth(0, 10);```二、读取Sheet1. getRow(int rowIndex):根据行索引获取指定行对象。
示例代码:```javaRow row = sheet.getRow(0);```2. getPhysicalNumberOfRows():获取工作表的实际行数。
示例代码:```javaint rowCount = sheet.getPhysicalNumberOfRows();```3. getLastRowNum():获取工作表的最后一行的行号。
示例代码:```javaint lastRowNum = sheet.getLastRowNum();```4. getCell(int rowIndex, int columnIndex):根据行索引和列索引获取指定单元格对象。
示例代码:```javaCell cell = row.getCell(0);```5. getPhysicalNumberOfCells():获取指定行的实际单元格数。
javajtable用法
javajtable用法1. 创建JTable对象:要创建一个JTable对象,可使用其构造函数之一、以下是一个示例:JTable table = new JTable(;2.设置表头:表格的第一行通常称为表头,用于显示列名。
要设置表头,可以使用JTable的getTableHeader(方法和setDefaultRenderer(方法。
下面是一个示例:JTableHeader tableHeader = table.getTableHeader(;tableHeader.setDefaultRenderer(new MyTableHeaderRenderer(); 3.添加到容器:将JTable添加到显示表格的容器中。
例如,将它添加到一个面板中:JPanel panel = new JPanel(;panel.add(table);4.设置数据模型:JTable需要一个数据模型来存储和管理表格数据。
默认情况下,JTable使用DefaultTableModel作为其数据模型。
以下是设置数据模型的示例:DefaultTableModel model = new DefaultTableModel(;table.setModel(model);5.填充表格数据:可以通过添加行和列的方式来填充表格数据。
以下是一个示例:model.addRow(new Object[]{"John Doe", "24", "Male"});model.addRow(new Object[]{"Jane Smith", "30", "Female"}); 6.选择行和列:可以使用JTable的setRowSelectionAllowed(和setColumnSelectionAllowed(方法来允许或禁止行或列的选择。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JComponent的子类JTable负责创建表格。 JTable(Object data[][],Object columnName[]) 负责创建表格; toString() 此方法将得到的对象转换为字符串; Repaint() 调用此方法表格将刷新显示; setrowHeight() 此方法可以设置每一行的高度; 例
} else if(e.getSource()==总成绩){ for(int i=0;i<rows;i++){ double sum=0; boolean boo=true; for(int j=1;j<=2;j++){ try{ sum=sum+Double.parseDouble(a[i][j].toString()); } catch(Exception ee){ boo=false; table.repaint(); } if(boo==true){ a[i][3]=""+sum; table.repaint(); } } } } } } public class SwingUserLogin{ public static void main(String args[]){ Windowtable win=new Windowtable(); win.setTitle("使用表格处理数据"); } }
import javax.swing.*; import java.awt.*; import java.awt.event.*; class Windowtable extends JFrame implements ActionListener{ int rows=1; JTextField inputnumber; JButton 确定,总成绩; JPanel c; Object[] []a;
a=new Object[rows][4]; table=new JTable(a,name); table. setRowHeight(30); add(c,BorderLayout.SOUTH); add(new JScrollPane(table),BorderLayout.CENTER); } public void actionPerformed(ActionEvent e){ if(e.getSource()==确定){ rows=Integer.parseInt(inputnumber.getText()); a=new Object[rows][4]; table=new JTable(a,name); table. setRowHeight(30); getContentPane().removeAll(); add(c,BorderLayout.SOUTH); add(new JScrollPane(table),BorderLayout.CENTER#34;姓名","英语","数学","总成绩"}; JTable table; Windowtable(){ init(); setSize(500,200); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void init(){ 确定=new JButton("确定"); 确定.addActionListener(this); 总成绩=new JButton("总成绩"); 总成绩.addActionListener(this); inputnumber=new JTextField(10); c=new JPanel(); c.add(new JLabel("输入表格行数")); c.add(inputnumber); c.add(确定); c.add(总成绩);