-
2021-08-12 18:41:22
直接上代码
DataFormat df = workbook.createDataFormat(); // 此处设置数据格式
cellStyle.setDataFormat(df.getFormat("0.00_ "));// 关键是'_ ',空格不要忘记
cell.setCellStyle(cellStyle);String str="123456";
cell.setcellValue(str);
更多相关内容 -
DevExpress设置单元格不可编辑,选单元格则选中一行
2021-01-07 11:34:52DevExpress设置单元格不可编辑,选单元格则选中一行,目的是只展示数据,不提供修改功能: DevexpressGridControl禁止点击单元格修改 设置GridView.OptionsBehavior的Editable选项设为False。在这种情况下,整个Grid... -
NPOI读取Excel设置单元格格式为数值不生效问题
2019-10-30 14:35:31NPOI读取Excel设置单元格格式为数值不生效问题初学C#踩坑第一篇
NPOI读取Excel设置单元格格式为数值不生效问题
问题简介:
C#使用NPOI写入Excel是修改单元格不能修改,生成后Excel需要打开后双击单元格才会改变格式,话不多说下面直接讲解决办法。出现问题点:
给单元格赋值时全部赋值的时String类型的值,所以导致单元格格式不生效。
解决方法:
为单元格赋值时赋值相应类型的值,例如:单元格格式为数值,则赋值double。//设置单元格格式代码 IDataFormat dataformat = workbook.CreateDataFormat(); ICellStyle style2 = workbook.CreateCellStyle(); style2.DataFormat = dataformat.GetFormat("0.0"); //改变小数精度【小数点后有几个0表示精确到小数点后几位】
IDataFormat dataformat = workbook.CreateDataFormat(); ICellStyle style2 = workbook.CreateCellStyle(); style2.DataFormat = dataformat.GetFormat("0.0"); //改变小数精度【小数点后有几个0表示精确到小数点后几位】 foreach (DataRow row in sourceTable.Rows) { IRow dataRow = sheet.CreateRow(rowIndex); sheet.CreateRow(rowIndex).Height = 100 * 5; foreach (DataColumn column in sourceTable.Columns) { //遍历DataRow时当列为金额时,将单元格格式改为数值格式 if (column.ToString() == "金额") { ICell RowCell = dataRow.CreateCell(column.Ordinal); //来看这里 ############################################# //给单元格赋值时进行一下类型转换 double.Parse((row[column] ?? "").ToString()) RowCell.SetCellValue(double.Parse((row[column] ?? "").ToString())); RowCell.CellStyle = style2; } else { ICell RowCell = dataRow.CreateCell(column.Ordinal); RowCell.SetCellValue((row[column] ?? "").ToString()); RowCell.CellStyle = style; } }
到次就大功告成了。
-
java中导出excel设置单元格的样式为数字格式怎么设置_Java代码实现设置单元格格式
2020-12-31 12:51:16java中导出excel设置单元格的样式为数字格式怎么设置如果是使用poi,它会自动根据参数值设置单元格为恰当格式,只需传入数字类型参数值即可,比如double value=....;cell.setCellValue(value);java中导出excel设置...java中导出excel设置单元格的样式为数字格式怎么设置
如果是使用poi,它会自动根据参数值设置单元格为恰当格式,只需传入数字类型参数值即可,比如
double value=....;
cell.setCellValue(value);
java中导出excel设置单元格的样式为数字格式怎么设置?
通过这个例子,演示了使用java生成以下文件:导入Excel org。Apache POI。HSSF。用户。*;进口java.io.fileoutputstream;进口,;publicclass CreateCells 。
publicstaticvoid主要(string [] args)抛出ioexcept。
java poi编写代码来设置Excel单元格的样式
还是自己去看POI的API吧
如何使用java代码实现设置excel单元格的格式。
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();
}
-
java使用POI导出Excel设置单元格格式为数值类型
2021-07-26 22:32:34最近做项目遇到的坑,百度了半天导出都为货币类型、自定义类型和常规类型,,,最后终于解决,在此记录一下 ... * 设置Excel单元格为数值类型便于公式运算 * * @param workbook * @param contextstyle最近做项目遇到的坑,百度了半天导出都为货币类型、自定义类型和常规类型,,,最后终于解决,在此记录一下
其中contextstyle.setDataFormat(df.getFormat("0_ "));要特别注意"0_ ",下划线后面有一个空格!!!,缺少空格则不会导出为数值类型。
注意空格!!!注意空格!!!注意空格!!!
/** * 设置Excel单元格为数值类型便于公式运算 * * @param workbook * @param contextstyle * @param cell * @param data */ public static void setNumberFormat(SXSSFWorkbook workbook, CellStyle contextstyle, SXSSFCell cell,Object data){ boolean isNum = false;//data是否为数值型 boolean isInteger=false;//data是否为整数 boolean isPercent=false;//data是否为百分数 if (data != null || "".equals(data)) { //判断data是否为数值型 isNum = data.toString().matches("^(-?\\d+)(\\.\\d+)?$"); //判断data是否为整数(小数部分是否为0) isInteger=data.toString().matches("^[-\\+]?[\\d]*$"); //判断data是否为百分数(是否包含“%”) isPercent=data.toString().contains("%"); } //如果单元格内容是数值类型,设置data的类型为数值类型 if (isNum && !isPercent) { // 此处设置数据格式 DataFormat df = workbook.createDataFormat(); if (isInteger) { contextstyle.setDataFormat(df.getFormat("0_ "));//数据格式只显示整数 }else{ contextstyle.setDataFormat(df.getFormat("0.00_ "));//保留两位小数点 } // 设置单元格格式 cell.setCellStyle(contextstyle); // 设置单元格内容为double类型 cell.setCellValue(Double.parseDouble(data.toString())); } else { if (data != null && !"".equals(data)) { cell.setCellStyle(contextstyle); // 设置单元格内容为字符型 cell.setCellValue(data.toString()); } } }
-
python设置单元格数值格式
2021-03-04 10:17:31python xlwt如何设置单元格格式python xlwt模块怎么设置excel单元格的属性如图,默认是general。我想写入的时候就是Text类型.请问应该怎么做。from xlwt import Workbook,Stylewb = Workbook()ws = wb.add_sheet('... -
excel单元格设置了数值类型,但是代码里读的时候还是文本类型
2022-03-08 09:37:30为什么Excel单元格内容双击后才能生效? Excel单元格内容双击后才能生效是因为Excel默认设置就是这样的,若需让更改内容后直接显示为更改后的,可以使用分列操作。 具体操作如下: 1、首先在EXCEL表格的页面中使用... -
poi 设置单元格数值型
2020-08-19 16:36:08cell.setValue(Double类型,或者integer类型的值即可); cell.setValue("");----------这样写,该单元格就不是数值型,不能参与计算。 -
java中导出excel设置单元格的样式为数字格式怎样设置?
2020-12-23 07:29:55用借助名称一次选定单元格区域先用鼠标圈出一部分区域,再单击工作表左上角的“名称框”,输入该区域的名称,如“文萃编辑”。以后无论工作区域的选定多么复杂...取消名称定义自己定义的单元格名称不受任何限制,其... -
【Excel2019(二):单元格格式设置】【单元格数字格式+使用”分列”工具】
2021-01-07 08:48:03单元格数字格式1.1 数字格式1.2 利用自定义数字格式修改日期1.3 数字格式表1.4 利用数字格式隐藏数据2. 使用”分列”工具2.1 基本操作2.2 文本日期改为日期格式 1. 单元格数字格式 修改单元格数字格式不会改变数值... -
POI设置单元格格式为数值或日期
2019-05-31 11:17:17一、需求:开发过程中,程序导出的Excel表中的数字为文本(即在Excel中表现为单元格左上角带绿色三角形),导致需要在Excel中先转换...(1)设置为数值 HSSFCellStyle hssfCellStyleDouble = wb.createCellStyl... -
如何将电脑excel文档中的单元格颜色设置为根据数值大小自动修改
2021-07-27 06:47:09如何将电脑excel文档中的单元格颜色设置为根据数值大小自动修改腾讯视频/爱奇艺/优酷/外卖 充值4折起当我们在使用电脑的时候,如果想要处理数据的话,一般都会用到excel软件,在excel中,如何设置根据数值大小来自动... -
apache poi 4.0.1设置单元格为数值类型但是打开excel提示单元格为非数字类型
2019-01-16 22:40:33``` // 整数 if (type == 1) { cell.setCellType(CellType.NUMERIC); XSSFDataFormat format = xssfWorkbook.createDataFormat();... cellStyle.setDataFormat(format.getFormat("0"));... -
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2020-10-16 02:51:11今天小编就为大家分享一篇浅谈layui数据表格判断问题(加入表单元素),设置单元格样式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
excel表格内数据为何无法计算机-为什么EXCEL单元格内的数字不能运算
2021-07-05 01:35:33我的电脑为什么不能把一个excel表中数据导入另一个...在Excel中打不上去可能是由于数出了位数限制,对应及解决方下:1、系统默认单元格中输入数字格式为“常规”,能完全显示的有效数字位数是11位,当输入数字位数... -
excel单元格下拉选项怎么设置_Excel单元格内容这样设置才不能被修改
2020-11-18 10:49:531,打开excel表格,对需要锁定的部分单元格进行全选,然后点击鼠标右键,在弹出来的设置功能中,选择“设置单元格格式”。(如下图)2,接着来到设置单元格格式下的“数字”属性中,点击上面主菜单中的“保护”功能... -
#excel表格数据双击就变了#在给excel单元格设置格式后,为什么必须双击才会生效?如何才能让设置直接生效?
2021-01-12 23:56:25在给excel单元格设置格式后,为什么必须双击才会生效?如何才能让设置直接生效?原因Excel默认这样的需让批量更改格式后显示改后的格式,可以使用操作即可批量更改,如下:所需材料:Excel、电脑。一、以下步骤以科学... -
Layui数据表格之单元格编辑方式
2020-10-16 02:45:42今天小编就为大家分享一篇Layui数据表格之单元格编辑方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
怎样设置单元格属性为文本格式?
2021-03-15 23:20:08// 背景设置为白色 headWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex()); WriteFont headWriteFont = new WriteFont(); headWriteFont.setFontHeightInPoints((short)10); ... -
,JAVA中导出Excel将全部单元格设置为文本样式,就是导出的没有数据的单元格类型的设置
2021-03-26 14:59:19EXCEL电子表格中有哪些数据类型下面这些可考:在 Excel 的单元格中可以输入类型的数据,如文本、数值、日期、时间等等。1.字符型数据。在 Excel 中,字符型数据包括汉字、英文字母、空格等,每个单元格 最多可容纳 ... -
NPOI 设置EXCEL单元格格式为 数值
2016-10-26 11:56:10NPOI设置EXCEL单元格格式为数值,网上有很多信息,但并没有实际解决问题的方法。 实际上EXCEL的格式设置很简单,只要将样式对象的DataFormat属性设置为194即可,代码如下: #region 普通样式-靠右 // 设置边框 ... -
设置Excel单元格数值条件.rar
2019-09-26 09:39:46设置Excel单元格数值条件.rar,单元格数值条件时的几个判断选项,本例涉及:大于、等于、介于2和介于1与大于或等于。 -
使用SXSSFWorkbook进行excel导出,设置单元格格式为数值,导出后显示为自定义
2019-11-04 16:01:181、导出用的是SXSSFWorkbook的方式,POI版本为4.01,进行设置单元格格式的时候,预期导出的excel格式显示为数值,结果显示为自定义。 2、百度上找了很多种方法,解决方法可归纳为: ① 使用excel的内嵌格式 ... -
EXCLE中如何通过判断另外一个单元格是否为空来确定单元格的数值_excel不为空的函数
2021-04-21 16:51:10EXCLE中如何通过判断另外一个单元格是否为空来确定单元格的数值你说的1,2,3,分别是A1,A2,A3单元格,则A2单元入公式=IF(A1="",A3,)或=(A1="")*A3表格的顶上是一排字A,B,C,.......这个就是列标表格的左边是一竖列的数字... -
XSSFCellStyle 设置单元格为数值类型
2020-01-09 17:06:35EXCEL输出可计算的数值类型 我这里的类型是BigDecimal,可根据自己的数字类型去判断 主要以下两行代码 cell.setCellValue(((BigDecimal) cellData).doubleValue()); // 输出double类型 dataStyle.setDataFormat... -
Excel2019单元格超出宽度的文字设置为不显示的方法
2020-09-10 23:31:47描述:Excel2019单元格超出宽度的文字设置为不显示的方法 步骤: 原数据示例 选中所有,右键设置单元格格式->对齐->水平对齐->选择靠右(缩进) -
XSSFWorkbook 设置单元格样式_如何设置Excel单元格才能只输入数字!
2020-11-22 02:17:14要实现Excel单元格仅能输入数字,只需对单元格数据有效性进行设置即可。下面将按步骤具体介绍。一、选择目标单元格如Q4,然后点击数据工具栏,选择并点击数据有限性,弹出【数据有效性】窗口。二、设置【数据有效性... -
Excel 公式: 根据一个单元格的用户输入值, 自动设置另一个单元格的值
2019-03-30 01:19:25NULL 博文链接:https://wjason.iteye.com/blog/1317323 -
phpexcel导出excel 合并单元格 字体设置 内容自适应
2018-09-16 14:15:16设置表格字体颜色、数据格式、对齐方式、添加批注、合并拆分单元格、内容自适应、合并单元格、换行 -
poi导出excel文件单元格设置:数值(BigDecimal),日期
2020-07-30 16:26:42poi导出excel文件单元格设置:数值(BigDecimal),日期 日期格式单元格 private static CellStyle getDateCellStyle (Workbook wb) { //设置日期数据样式 CellStyle dataStyle = getCellStyle(wb); DataFormat ...