jxl 怎样为单元格添加边框和底色

jxl 怎样为单元格添加边框和底色,第1张

设置边框以及其他属性

format1.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN,jxl.format.Colour.RED)

设置单元格背景颜色

WritableCellFormat wcf = new WritableCellFormat(wf)

wcf.setBackground(jxl.format.Colour.BLUE)

给你发段代码 我写的。

public ActionForward toExcel(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) throws Exception {

StatisticalForm theForm = (StatisticalForm)form

String name = "StatisticalExcel"+com.ccgj.common.util.DateFormat.mailDate(new Date())+".xls"

Date Btime = null

Date Etime = null

try{

//从Session中取得用户信息

Users tUsers = (Users) (request.getSession(true).getAttribute(GlobalDefine.USER))

Long role = tUsers.getRole()

//实例化借口和对象

CheckDataIF tCheckDataIF = DatabaseFactory.getCheckDataIF()

CheckData tCheckData = tCheckDataIF.createCheckData()

//设置查询条件,封装成Bean

BeanUtils.copyProperties(tCheckData, theForm)

UserAreaRelation userAreaRelation = new UserAreaRelation()

UserAreaRelationIF userAreaRelationIF = DatabaseFactory.getUserAreaRelationIF()

userAreaRelation.setUserId(tUsers.getId())

List lists = userAreaRelationIF.searchUserAreaRelation(userAreaRelation)

Long idArray[] = new Long[lists.size()]

for(int i=0i<lists.size()i++)

{

UserAreaRelation userAreaRelations = new UserAreaRelation()

userAreaRelations = (UserAreaRelation)lists.get(i)

idArray[i] = userAreaRelations.getAreaId()

}

if(theForm.getCheckTimeSelect()!=null &&theForm.getCheckTimeSelect().length()>0){

Btime = DateFormat.getDateOnly(theForm.getCheckTimeSelect())

Etime = DateFormat.addDay(Btime, 1)

}

if(role==Enums.getInstance().getLongValueByName("User", "USER_POLE_AVERAGE")){/***********普通用户*************/

tCheckData.setIsAudit(Enums.getInstance().getLongValueByName("CheckData", "CHECK_DATA_AUDIT_YES"))/***********已审核***********/

theForm.setUserRole("1")

}

//查询数据以分页显示

List list = tCheckDataIF.searchCheckDataWithPageBetweenTimes(tCheckData, Btime, Etime,false,idArray, -1, -1)

String filePath = com.ccgj.common.conf.ConfigureFile.getMessage("excelpath")+name

File myFilePath = new File(filePath)

if(!myFilePath.exists())

myFilePath.createNewFile()

FileWriter resultFile = new FileWriter(myFilePath)

PrintWriter myFile = new PrintWriter(resultFile)

resultFile.close()

OutputStream outf = new FileOutputStream(filePath)

jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(outf)

jxl.write.WritableSheet ws = wwb.createSheet("sheettest", 0)

ws.addCell(new Label(0, 0, "检测统计报表"))

ws.addCell(new Label(0, 1, "样品名称"))

ws.addCell(new Label(1, 1, "项目名称"))

ws.addCell(new Label(2, 1, "被检单位"))

ws.addCell(new Label(3, 1, "检测时间"))

ws.addCell(new Label(4, 1, "检测结果"))

ws.addCell(new Label(5, 1, "检测地点"))

ws.addCell(new Label(6, 1, "样品大类"))

ws.addCell(new Label(7, 1, "是否合格"))

ws.addCell(new Label(8, 1, "是否审核"))

if((list!=null) &&list.size()>0)

{

for(int z=0z<list.size()z++)

{

CheckData checkData = new CheckData()

checkData = (CheckData)list.get(z)

for(int x=0x<9x++)

{

switch(x)

{

case 0 : ws.addCell(new Label(x, z+2,Sensing.getSampleNameForId(checkData.getSampleId())))break

case 1 : ws.addCell(new Label(x, z+2,Sensing.getItemNameForId(checkData.getItemId())))break

case 2 : ws.addCell(new Label(x, z+2,Sensing.getCompanyNameForId(checkData.getCheckedCompanyId())))break

case 3 : ws.addCell(new Label(x, z+2,Sensing.getCheckTimeForTime(checkData.getCheckTime())))break

case 4 : ws.addCell(new Label(x, z+2,Sensing.getCheckResultForResult(checkData.getCheckResult())))break

case 5 : ws.addCell(new Label(x, z+2,Sensing.getCheckPlaceForPlace(checkData.getCheckPlace())))break

case 6 : ws.addCell(new Label(x, z+2,Sensing.getSampleTypeNameForId(checkData.getSampleTypeId())))break

case 7 : ws.addCell(new Label(x, z+2,Sensing.getQualifiedForNumber(checkData.getQualified())))break

case 8 : ws.addCell(new Label(x, z+2,Sensing.getIsAuditForNumber(checkData.getIsAudit()) ))break

}

}

}

}

wwb.write()

wwb.close()

} catch (Exception e) {

request.setAttribute(com.ccgj.platform.util.GlobalDefine.GLOBAL_ERROR, Enums.getInstance().getDescByName("CommonMessage","EXCEL_ERROR"))

e.printStackTrace()

}

request.setAttribute(com.ccgj.platform.util.GlobalDefine.GLOBAL_ERROR, Enums.getInstance().getDescByName("CommonMessage","EXCEL_SUCCESS"))

request.setAttribute("fileName", name)

RequestDispatcher rd = request.getRequestDispatcher("../downloadExcel.jsp")

rd.forward(request, response)

return null

}

1.创建文件

生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:

代码(CreateXLS.java):

//生成Excel的类

import java.io.*

import jxl.*

import jxl.write.*

public class CreateXLS

{

public static void main(String args[])

{

try

{

//打开文件

WritableWorkbook book=

Workbook.createWorkbook(new File(“测试.xls”))

//生成名为“第一页”的工作表,参数0表示这是第一页

WritableSheet sheet=book.createSheet(“第一页”,0)

//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)

//以及单元格内容为test

Label label=new Label(0,0,”test”)

//将定义好的单元格添加到工作表中

sheet.addCell(label)

/*生成一个保存数字的单元格

必须使用Number的完整包路径,否则有语法歧义

单元格位置是第二列,第一行,值为789.123*/

jxl.write.Number number = new jxl.write.Number(1,0,789.123)

sheet.addCell(number)

//写入数据并关闭文件

book.write()

book.close()

}catch(Exception e)

{

System.out.println(e)

}

}

}

编译执行后,会在当前位置产生一个Excel文件。

2.读取文件

以刚才创建的Excel文件为例,做一个简单的读取 *** 作,程序代码如下:

//读取Excel的类

import java.io.*

import jxl.*

public class ReadXLS

{

public static void main(String args[])

{

try

{

Workbook book=

Workbook.getWorkbook(new File(“测试.xls”))

//获得第一个工作表对象

Sheet sheet=book.getSheet(0)

//得到第一列第一行的单元格

Cell cell1=sheet.getCell(0,0)

String result=cell1.getContents()

System.out.println(result)

book.close()

}catch(Exception e)

{

System.out.println(e)

}

}

}

程序执行结果:test

3.修改文件

利用jExcelAPI可以修改已有的Excel文件,修改Excel文件的时候,除了打开文件的方式不同之外,其他 *** 作和创建Excel是一样的。下面的例子是在已经生成的Excel文件中添加一个工作表:

//修改Excel的类,添加一个工作表

import java.io.*

import jxl.*

import jxl.write.*

public class UpdateXLS

{

public static void main(String args[])

{

try

{

//Excel获得文件

Workbook wb=Workbook.getWorkbook(new File(“测试.xls”))

//打开一个文件的副本,并且指定数据写回到原文件

WritableWorkbook book=

Workbook.createWorkbook(new File(“测试.xls”),wb)

//添加一个工作表

WritableSheet sheet=book.createSheet(“第二页”,1)

sheet.addCell(new Label(0,0,”第二页的测试数据”))

book.write()

book.close()

}catch(Exception e)

{

System.out.println(e)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11821875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存