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()
}
wps表格填写代码体现内容怎么弄1.
首先启动wps表格,选择单元格a1输入文字。
2.
接着按住鼠标左键从单元格a1进行拖动一直拖动到a10。
3.
执行格式-条件格式命令,在d出的对话框中设置单元格数值等于001。
4.
接着点击格式按钮d出单元格格式对话框。
java代码里怎么改变表格长度宽度逐个Column设置,
TableColumn 有方法
void
setMaxWidth(int maxWidth)
将 TableColumn 的最大宽度设置为 maxWidth;如果 maxWidth 小于最小宽度,则设置为最小宽度。
void
setMinWidth(int minWidth)
将 TableColumn 的最小宽度设置为 minWidth,如有必要,调整新的最小宽度以确保 0 <= minWidth <= maxWidth。
void
setPreferredWidth(int preferredWidth)
将此列的首选宽度设置为 preferredWidth。
void
setWidth(int width)
不应使用此方法来设置 JTable 中列的宽度,而应使用 setPreferredWidth。
void
sizeWidthToFit()
调整 TableColumn 的大小,以适合其标题单元格的宽度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)