帮同事解决了一个POI解析Excel的功能,就是他想读出单元格中的原始内容,但是poi在处理数字的时候会自动转换为double了,这样对于一些对1和1.00有严格区分的场景下,会出现问题.我看网上很多人问这个,其实可以在读取这个单元格内容之前,先调用 cell.setCellType(Cell.CELL_TYPE_STRING); 将单元格的内容作为String进行读取,然后再进行后续处理就好了.…
做过很多次导出excel了.都碰到一个问题,内容里如果包含一个比较长的数字,比如订单号“2546541656596”,excel会自动变成科学计数法... 弄过好几次都没有解决,最近又要导出excel了,下决心一定要找到解决办法 自己在excel里测试过,较长的数字,都会自动变成科学计数法,除非我们把单元格格式设置成“文本型” 哈哈,似乎找到了思路:用poi先把单元格设置成“文本型”就可以了把. 从文档里找到了这个方法HSSFCell.setCellType(int type),怎么看这个方法都…
在Excel中将数字设置成文本格式的技巧 一个简单的方法,利用[数据]菜单的[分列]功能来将数字设置为文本格式.具体操作步骤为: 1.选中所有需要处理的数字单元格. 2.选择[数据]菜单[分列]功能. 3.直接跳过前两步,也就是说直接点击“下一步”直到步骤3,如图4所示. 4.在步骤3中将“列数据格式”设置为“文本”,点击完成. 大功告成,所有被选中的数据单元格的左上角都出现了绿色的三角标识,提醒您所有的数据都是文本形式存储的.…
java操作Excel处理数字类型的精度损失问题验证: 场景: CELL_TYPE_NUMERIC-->CELL_TYPE_STRING--->CELL_TYPE_NUMERIC POI版本:poi-3.10.1poi-3.9 Code: package poi; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.i…
解决方法 在Chrome浏览器地址栏输入chrome://net-internals/#hsts 在Delete domain security policies 中输入要删除自动转换的域名 原因 将HTTP请求自动转为HTTPS请求是浏览器的默认策略.当浏览器访问过某个HTTPS的网站后,再访问该网站时,一切HTTP请求会自动转为HTTPS请求. HTTP转为HTTPS的主要原因是为了安全. 实践 在测试时,通过端口直接访问比较简单.在生产环境中,最好通过Nginx配置HTTPS端口映射.…
在数据导出到excel时数字格式不对,一般分为以下两种情况. 1.excel单元格设置长度不够 解决方法: //在excel.php文件中 $objActSheet = $objPHPExcel->getActiveSheet(); // 设置 栏目名称 $objActSheet->setCellValue("b1", "卡号"); // 设置列的宽度 $objActSheet->getColumnDimension('b')->setWid…
/**  * Java里数字转字符串前面自动补0的实现.  *  * @author  xiaomo *  */  public class TestStringFormat {    public static void main(String[] args) {      int youNumber = 1;      // 0 代表前面补充0       // 10代表长度为10       // d 代表参数为正数型       String str = String.format("%…
mysql int类型字段插入空字符串时自动转为0 如果不想转的话可以修改配置文件 修改 my.ini 文件. # Set the SQL mode to strictsql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” 改为: # Set the SQL mode to strictsql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”…
移动端适配一直都是个大问题,现在也出现了各种各样的解决方案,比如 rem, vw 百分比等,但是比较成熟的切比较容易编写的还是 rem,他是相对于根元素的 font-size 进行等比例计算的. 但是我们在编写css的时候,需要计算每一个元素相对于根元素的rem值是多少.会比较麻烦,并且维护起来也不方便.那么社区也出现了各种解决方案. 早期的解决方案是利用 sass 或者less编写函数进行自动转换.到后来淘宝的lib-flexible,再到现在的 postcss,都是为了编写的时候写的是px,…
转自:http://yedward.net/?id=337 对于这个问题,只要在RTF模版中设置下强制LTR即可,设置方法如下: 图1:勾选强制LTR 也可以自己输入下面的代码: <fo:bidi-override direction="ltr" unicode-bidi="bidi-override"><?C6?></fo:bidi-override> 把上面的C6换成指定的字段. 强制LTR的作用,官方解释如下: Force…
方法一:前面加空格 $objActSheet->setCellValue('A1', ' '.'330602198804224688'); 方法二: $objActSheet->setCellValueExplicit('A1', '330602198804224688', PHPExcel_Cell_DataType::TYPE_STRING); 方法三: $objActSheet->setCellValue('A1', '330602198804224688'); $objActSh…
在使用excel的过程中,有时需要在输入数字时,突出显示这些单元格,突出显示可以用有填充颜色的单元格来表示.为了实现这样的效果,需要借助excel的条件格式. 工具/原料 电脑 Excel 2010 方法/步骤   新建一个Excel文件,以下将使用这个示例文件进行操作,建立的表格结构如图,供读者参考.以下将在输入数学成绩大于80分的时候自动填充该处单元格颜色.   选中表格区域后,依次选中菜单项开始--条件格式--新建规则:进入新建格式规则界面.   在新建格式规则界面中,选择只为包含以下内容…
问题:导入excel表,若表格中为整数数字,不管单元格设置成数字格式还是文本格式,导入时都会出现小数点和0. 我遇到的问题是:一个名称,做测试数据的时候做了纯整形数字,发现了这个问题. 解决办法:在代码中判断,格式化一下. /** * 处理导入小数点 */ public static String numOfImport(HSSFCell cell) { String value = cell.toString(); int i = cell.getCellType(); if (i == 1)…
在OFFICE365里,有个自动保存功能,可惜保存的地址是在Onedrive里,在中国国情下,备份十分卡顿,近乎难以忍受的慢.虽然现在收费性的网盘部分是可以有文件版本的备份功能,但也是繁琐且最要命的是要联网,包括OFFICE365也有联网才能备份的先决条件.基于之前整理IBCS图表出现连续性失误,文件保存后重新打开报错,丢失了所有图表对象的惨痛教训,顺便将自动备份功能开发出来,让日常文件的操作更加安全,意外损失减少到最小. 惨痛经历简单复述 之前开发IBCS图表时,出现了好几次文件可以保存,但打…
错误重现: ----------------------------------------------------------------------- 在导入Excel读取数据时,其中的一个字段保存的值有如下格式:"2011072014","20110Aad10","25124Adfa","例子asdfadf"  这样的 混合了 "字母/数字/中文"数据, 在Excel表格中的前 8条 或 前 8+ 条…
- js 中导出excel 较长数字串会变成科学计数法 在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转换成 科学计数法.现在网上找到解决方案之一: (在数字串前后加 " " 或' ' 或 tab等空白内容都是行不通的,excel会自动去掉这些.除非你在数字串中间加,当然这样就不是我们要的结果了) 解决方案之一:<td style="mso-number-format:'\@…
Excel插件的部署问题难倒了不了的用户,特别是VSTO的部署,用ExcelDna开发的xll文件部署方便,不挑用户机器环境,是其开发Excel插件的一大优势. 其开发出来的xll文件,最终还是需要考虑用户机器Excel位数的问题,32位的Excel安装32位的xll文件,同理64位安装64位的xll. 如何判断用户机器是32位还是64位的OFFICE,并将对应位数的xll文件安放到用户机器上,这个问题之前笔者曾经花时间找过资料,最终实现了想要的功能效果. 同样的因笔者非专业程序猿,可能写出来的…
原因: Excel2007设置过单元格格式后,并不能立即生效必须挨个双击单元格,才能生效.数据行很多.效率太低. 原因:主要是一些从网上拷贝过来的日期或数字excel默认为文本格式或特殊-中文数字格式大小写. 手动设置单元格,将格式改成日期格式,但仍不能参与计算. 只有挨个单元格双击,才能生效:才可以计算. 解决: 选中整列,"数据"--->"分列"--->"分隔符号"--->"下一步"--->&quo…
最近在使用Apache的POI组件对Excel进行操作,在对excel导出的时候,导出的数字本来只有两位小数,得到的结果就变成了很多位小数.如下面的图所示: 虽然对单元格使用了setCellStyle,但还是治标不治本,显示虽然是只显示两位小数了,但是点开还是有很长的一串小数位,这很不爽,这什么原因导致的呢?我们来看看. 我首先debug看一下,在设置单元格的值时候,数据一切正常,数据库读出的数据也为0.44,没看出一点猫腻.随后我再仔细看看,在看到cell.setCellValue(doubl…
1.数字COUNT(A1:A100)2.汉字{=SUMPRODUCT(IF(LEN(A1:A100)LENB(A1:A100),1,0)*1)}3.英文{=SUMPRODUCT(IF(ISTEXT(A1:A100),1,0)*1)-SUMPRODUCT(IF(LEN(A1:A100)LENB(A1:A100),1,0)*1)} 其中后面两个是数组公式,输入完成后 使用 CTRL+SHIFT+ENTER 三键一起结束(正确输入后会自动增加大括号标记).…