首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据数据长度对所有数据进行居中并调整excel列

问根据数据长度对所有数据进行居中并调整excel列
EN

Stack Overflow用户
提问于 2014-02-06 20:52:52
回答 1查看 1K关注 0票数 0

如何使用PHPexcel?....and根据excel报表中的数据长度调整列的宽度?如何使excel中的所有数据以中心为中心?

​

​

当前代码:

代码语言:javascript
复制
<?php
if (!isset($_POST['send'])) { ?>
    <!DOCTYPE html>
    <html>
    <head>
    <title>test</title>
    </head>
    <body>
<?php } else {
    require_once 'C:\xampp\htdocs\test\Classes\PHPExcel\IOFactory.php';
    $filename = 'file.xlsx';
    $title = $_POST['title'];
    mysql_connect("localhost","root","") or die ("cant connect!");
    mysql_select_db("test") or die ("cant find database!");

    $objReader = PHPExcel_IOFactory::createReader('Excel2007');
    $objReader->setReadDataOnly(true);

    $objPHPExcel = $objReader->load($filename);
    $objWorksheet = $objPHPExcel->getActiveSheet();
    $objWorksheet = $objPHPExcel->setActiveSheetIndex(0);

    $result = mysql_query("SELECT * FROM score");
    if(isset($_POST['send'])){

        $headings = array(
            'ID', 
            'NAME',
            'SCORE 1',
            'SCORE 2',
            'OTHER QUALITIES',
            'INTERVIEW',
            'TOTAL',
            'AIC',
            'BATCHCODE',
        );
        $objPHPExcel->getActiveSheet()->fromArray($headings, null, 'A1');
        $row = 2;
        while( $rows = mysql_fetch_row($result)){
            $objPHPExcel->getActiveSheet()->fromArray($rows, null, 'A' . $row);
            $row++;
        }
    }

    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment;filename="'.$title.'.xlsx"');
    header('Cache-Control: max-age=0');

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
    $objWriter->save('php://output');
}
if (!isset($_POST['send'])) { ?>

    <form id="form1" name="form1" method="post" action="" >
    <input name="title" type="text" id="title" value="title" />
    <input type="submit" name="send" value="send to excel" id="send" />
    </form>
    </body>
    </html>
<?php }

我希望is...the列会根据数据长度自动调整,stored...and使数据在中心。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-07 08:07:56

开发人员文档的4.6.28节(标题为“设置列的宽度”)展示了如何设置列宽度,并举例说明如何设置它以自动调整其宽度以适应数据:

如果希望PHPExcel执行自动宽度计算,请使用以下代码。PHPExcel将以最宽的列值的宽度近似该列。

代码语言:javascript
复制
$objPHPExcel->getActiveSheet()
    ->getColumnDimension('E')->setAutoSize(true);

可以按照开发人员文档的4.6.18部分(标题为“格式化单元格”)中的说明设置对齐方式(如中心)

代码语言:javascript
复制
$objPHPExcel->getActiveSheet()
    ->getStyle('C2:I5')
    ->getAlignment()
    ->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21613816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档