";while(($order=mysql_fetch_array($query)) != false){echo "";echo "" $order[name].""; echo "" $order[t" />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>php</em>导出数据库到excel能不能控制每列的<em>宽度</

<em>php</em>导出数据库到excel能不能控制每列的<em>宽度</

作者:乔山办公网日期:

返回目录:excel表格制作


echo "<table>";
while(($order=mysql_fetch_array($query)) != false){
echo "<tr>";
echo "<td width='50'>" $order['name']."</td>"; 
echo "<td width='50'>" $order['tel']."</td>"; 
echo "<td width='50'>" $order['note']."</td>";
echo "<td width='50'>" $order['city']."</td>"; 
echo "<td width='50'>" $order['comedate']."</td>"; 
echo "<tr>";
}
echo "</table>";


设置自适应
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
设置宽度
$objPHPExcel->getActiveSheet()->getDefaultColumnDimension('A')->setWidth(20)
我用mac下载用window下载 出现mac可以 window 不好使现
POI是apache提供的一个读写Excel文档的开源组件,在操作excel时常要合并单元e69da5e887aae79fa5e98193366格,合并单元格的方法是:
sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 2));
自适应列宽度:
sheet.autoSizeColumn(1);
sheet.autoSizeColumn(1, true);
这两种方式都是自适应列宽度,但是注意这个方法在后边的版本才提供,poi的版本不要太老。 注意:第一个方法在合并单元格的的单元格并不好使,必须用第二个方法。
sheet.setColumnWidth(m, “列名”.getBytes().length*2*256);
这个方法是计算字符串的长度,以便设置列宽,该方法在解决中文的问题上比较好,前面两种方法对中文不好好用。。。。

还有在自适应宽度的时候,有时候遇到单元格是公式单元格,自适应不起作用,那是因为单元格存的是公式,并不是真正的数据,解决方法:
HSSFFormulaEvaluator evaluator = new HSSFFormulaEvaluator(sheet.getWorkbook());

CellValue cell71Val = evaluator.evaluate(cell71);
cell71.setCellValue(cell71Val.getNumberValue());
将格式化后的数据再次set进去,就是真正的值了。

方法:设置缩小字体填充。1、打开表格,在单元格(或整列)上右键,点击“设置单元格格式”。2、在设置的页面,将“缩小字体填充”前打勾,确定。3、这时,字体就会根据列宽,自动调整文字长度了。

相关阅读