📄 jxlapi.txt
字号:
写excle
//创建可写入的Excel工作薄
jxl.write.WritableWorkbook book= Workbook.createWorkbook(new File("生成excel存放的路径"));
//创建Excel工作表 参数1:工作表名称 参数2:位置(第几个)
jxl.write.WritableSheet ws = book.createSheet("Test Sheet 1", 0);
/// jxl.format.Colour 颜色
----------------------单元格简单样式----------------------------------------------------
/**
* 报表字符格式
* @param FontSize 字体大小
* @param isbold 是否是粗体
* @param FontColour 字体颜色
* @param BackColour 背景色
* @return
*/
public WritableCellFormat Font(int FontSize,boolean isbold,Colour FontColour,Colour BackColour){
WritableCellFormat format=null;
try {
WritableFont font =null;
if(isbold){
font =new WritableFont(WritableFont.TIMES, FontSize,
WritableFont.BOLD);
}else{
font =new WritableFont(WritableFont.TIMES, FontSize,
WritableFont.NO_BOLD);
}
if(FontColour!=null)
font.setColour(FontColour);
format = new WritableCellFormat(font);
format.setAlignment(jxl.format.Alignment.CENTRE);
format.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN);
if(BackColour!=null)
format.setBackground(BackColour);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.getInstance().print("------------->"+getClass());
e.printStackTrace(Log.getInstance().pw);
}
return format;
}
/**
* 报表数字格式 NumberFormat
* @param numberformat 数字显示样式(#.#)
* @param BackColour 背景色
* @return
*/
public WritableCellFormat Font(String numberformat,Colour BackColour){
WritableCellFormat format=null;
try {
NumberFormat nf = new NumberFormat(numberformat);
format = new WritableCellFormat(nf);
format.setAlignment(jxl.format.Alignment.CENTRE);
format.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN);
if(BackColour!=null)
format.setBackground(BackColour);
} catch (Exception e) {
e.printStackTrace();
Log.getInstance().print("------------->"+getClass());
e.printStackTrace(Log.getInstance().pw);
}
return format;
}
/**
* 数字格式 (NumberFormats.PERCENT_FLOAT %)
* @param df
* @param BackColour 背景色
* @return
*/
public WritableCellFormat Font(DisplayFormat df,Colour BackColour){
WritableCellFormat format=null;
try {
format = new WritableCellFormat(df);
format.setAlignment(jxl.format.Alignment.CENTRE);
format.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN);
if(BackColour!=null)
format.setBackground(BackColour);
} catch (Exception e) {
e.printStackTrace();
Log.getInstance().print("------------->"+getClass());
e.printStackTrace(Log.getInstance().pw);
}
return format;
}
-------------------------------------------------------------------
//行和列都从0开始计算
//设置行高 参数1:第几行 参数2:高度
sheet.setRowView(0, 400);
//合并单元格 参数1:从第几行 参数2:从第几列 参数3:到第几行 参数4:到第几列
sheet.mergeCells(0, 0,5, 0);
//设置列宽 参数1:第几列 参数2:宽度(注意:和设置行高的单位不一样)
sheet.setColumnView(0, 20);
---------------------向单元格添加数据-------------------------------------------
//1.在单元格添加字符窜 参数1:行 参数2:列 参数3:单元格填写的字符 参数4: 样式
ws.addCell(new jxl.write.Label(1, 1,"", wcfN));
//2.在单元格添加数字
ws.addCell(new jxl.write.Number(1, 1, 3.1415926, wcfN));
//3.在单元格添加公式 例如公式:A1+B1
ws.addCell(new jxl.write.Formula(1, 1,"公式", wcfN));
//4.在单元格添加Boolean对象
ws.addCell(new jxl.write.Boolean(0, 2, false));
//5.添加DateTime对象
ws.addCell(new jxl.write.DateTime(0, 3, new java.util.Date()));
//添加带有样式的DateFormat对象
jxl.write.DateFormat df = new jxl.write.DateFormat("dd MM yyyy hh:mm:ss");
jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df);
jxl.write.DateTime labelDTF = new jxl.write.DateTime(1, 3, new java.util.Date(), wcfDF);
ws.addCell(labelDTF);
//6.插入图片
//图片格式必须是png格式的
File fileImage=new File(System.getProperty("user.dir")+"/logo.png");
//从A1开始 跨2行3个单元格
WritableImage image=new WritableImage(0, 0,2,3,fileImage);
ws.addImage(image);
-------------------------------------------------------------------------------------
//写入Exel工作表
wwb.write();
//关闭Excel工作薄对象
wwb.close();
==========================================================================
读excle
//构建Workbook对象, 只读Workbook对象
InputStream is = new FileInputStream(sourcefile);
jxl.Workbook rwb = Workbook.getWorkbook(is);
//获取第一张Sheet表
Sheet rs = rwb.getSheet(0);
---------------------------------------------
//获取第一行,第一列的值
Cell c00 = rs.getCell(0, 0);
String strc00 = c00.getContents();
//获取第一行,第二列的值
Cell c10 = rs.getCell(1, 0);
String strc10 = c10.getContents();
//获取第二行,第二列的值
Cell c11 = rs.getCell(1, 1);
----------------------------------------------------------------
//返回工作薄(Workbook)中工作表(Sheet)对象数组,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
Sheet[] sheets = rwb.getSheets();
· Sheet接口提供的方法
1. String getName()
获取Sheet的名称,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
String sheetName = rs.getName();
2. int getColumns()
获取Sheet表中所包含的总列数,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
int rsColumns = rs.getColumns();
3. Cell[] getColumn(int column)
获取某一列的所有单元格,返回的是单元格对象数组,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
Cell[] cell = rs.getColumn(0);
4. int getRows()
获取Sheet表中所包含的总行数,示例:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
int rsRows = rs.getRows();
5. Cell[] getRow(int row)
获取某一行的所有单元格,返回的是单元格对象数组,示例子:
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
Cell[] cell = rs.getRow(0);
6. Cell getCell(int column, int row)
获取指定单元格的对象引用,需要注意的是它的两个参数,第一个是列数,第二个是行数,这与通常的行、列组合有些不同。
jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile));
jxl.Sheet rs = rwb.getSheet(0);
Cell cell = rs.getCell(0, 0);
//操作完成时,关闭对象,释放占用的内存空间
rwb.close();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -