如何使用java代码实现设置excel单元格的格式。

如何使用java代码实现设置excel单元格的格式。,第1张

import

org.apache.poi.hssf.usermodel.HSSFCell

import

org.apache.poi.hssf.usermodel.HSSFCellStyle

import

org.apache.poi.hssf.usermodel.HSSFRow

import

org.apache.poi.hssf.usermodel.HSSFSheet

import

org.apache.poi.hssf.usermodel.HSSFWorkbook

import

org.apache.poi.poifs.filesystem.POIFSFileSystem

/**

*

@param

inputFile

输入模板文件路径

*

@param

outputFile

输入文件存放于服务器路径

*

@param

dataList

待导出数据

*

@throws

Exception

*

@roseuid:

*/

public

void

exportExcelFile(String

inputFile,

String

outputFile,

List

dataList)

throws

Exception

{

//用模板文件构造poi

POIFSFileSystem

fs

=

new

POIFSFileSystem(new

FileInputStream(inputFile))

//创建模板工作表

HSSFWorkbook

templatewb

=

new

HSSFWorkbook(fs)

//直接取模板第一个sheet对象

HSSFSheet

templateSheet

=

templatewb.getSheetAt(1)

//得到模板的第一个sheet的第一行对象

为了得到模板样式

HSSFRow

templateRow

=

templateSheet.getRow(0)

//HSSFSheet

timplateSheet

=

templatewb.getSheetAt(1)

//取得Excel文件的总列数

int

columns

=

templateSheet.getRow((short)

0).getPhysicalNumberOfCells()

Debug.println("columns

is

:

"

+

columns)

//创建样式数组

HSSFCellStyle

styleArray[]

=

new

HSSFCellStyle[columns]

//一次性创建所有列的样式放在数组里

for

(int

s

=

0

s

<

columns

s++)

{

//得到数组实例

styleArray[s]

=

templatewb.createCellStyle()

}

//循环对每一个单元格进行赋值

//定位行

for

(int

rowId

=

1

rowId

<

dataList.size()

rowId++)

{

//依次取第rowId行数据

每一个数据是valueList

List

valueList

=

(List)

dataList.get(rowId

-

1)

//定位列

for

(int

columnId

=

0

columnId

<

columns

columnId++)

{

//依次取出对应与colunmId列的值

//每一个单元格的值

String

dataValue

=

(String)

valueList.get(columnId)

//取出colunmId列的的style

//模板每一列的样式

HSSFCellStyle

style

=

styleArray[columnId]

//取模板第colunmId列的单元格对象

//模板单元格对象

HSSFCell

templateCell

=

templateRow.getCell((short)

columnId)

//创建一个新的rowId行

行对象

//新建的行对象

HSSFRow

hssfRow

=

templateSheet.createRow(rowId)

//创建新的rowId行

columnId列

单元格对象

//新建的单元格对象

HSSFCell

cell

=

hssfRow.createCell((short)

columnId)

//如果对应的模板单元格

样式为非锁定

if

(templateCell.getCellStyle().getLocked()

==

false)

{

//设置此列style为非锁定

style.setLocked(false)

//设置到新的单元格上

cell.setCellStyle(style)

}

//否则样式为锁定

else

{

//设置此列style为锁定

style.setLocked(true)

//设置到新单元格上

cell.setCellStyle(style)

}

//设置编码

cell.setEncoding(HSSFCell.ENCODING_UTF_16)

//Debug.println("dataValue

:

"

+

dataValue)

//设置值

统一为String

cell.setCellValue(dataValue)

}

}

//设置输入流

FileOutputStream

fOut

=

new

FileOutputStream(outputFile)

//将模板的内容写到输出文件上

templatewb.write(fOut)

fOut.flush()

// *** 作结束,关闭文件

fOut.close()

}

使用poi,具体实现\x0d\x0aHSSFCellStylestyle=null\x0d\x0a//创建表头style\x0d\x0aHSSFCellStylecellStyleTitle=workbook.createCellStyle()\x0d\x0acellStyleTitle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND)//填充单元格\x0d\x0acellStyleTitle.setFillForegroundColor(HSSFColor.YELLOW.index)\x0d\x0acellStyleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER)////居中显示\x0d\x0a\x0d\x0aHSSFRowtitleRow=sheet.createRow(0)\x0d\x0afor(inti=0i 回答于 2022-12-14

1、在打开的ie浏览器窗口右上方点击齿轮图标,选择“Internet选项”,如下图所示:

2、在打开的Internet选项窗口中,切换到安全栏,在安全选卡中点击“自定义级别”,如下图所示:

3、在“安全设置-Internet区域”界面找到“Java小程序脚本”、“活动脚本”,并将这两个选项都选择为“禁用”,然后点击确定,如下图所示:


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

原文地址: http://outofmemory.cn/tougao/7872588.html

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

发表评论

登录后才能评论

评论列表(0条)

保存