标签: phpexcel

PHPExcel如何从单元格中获取列索引

PHPExcel $ cell-> getColumn()返回'A','B','C',...

这是从单元格中获取整数(0,1,2,...)的最佳方法.

此功能不存在.

$colIndex = $cell->getColumnIndex();
Run Code Online (Sandbox Code Playgroud)

那么将chr转换为ascii的替代方案是什么?

php phpexcel

22
推荐指数
2
解决办法
5万
查看次数

phpexcel在单元格范围上设置数据类型

使用PHPExcel,我正在使用:

$workSheet->fromArray($array);

设置我的数据.但是,需要将一列设置为字符串(前导零的数字,如果未设置为字符串,前导零将被截断).如果我没有使用该fromArray方法,我可以使用设置数据类型PHPExcel_Worksheet::setCellValueExplicit().

但是,我想使用一系列列来完成此操作.理想情况下是这样的:

$worksheet->getCell('A1:A50')->setDataType(PHPExcel_Cell_DataType::TYPE_STRING);
Run Code Online (Sandbox Code Playgroud)

但是看一下代码,getCell不会允许一个范围,只有一个单元格.我怎样才能做到这一点?

php phpexcel

21
推荐指数
1
解决办法
2万
查看次数

如何使用PHPExcel将数据导出到excel文件

我从limesurvey获取了源代码并将PHPExcel库添加到我的limesurvey代码中,以便在单击链接后将数据导出到excel文件.目前,excel文件打开时包含一些虚拟数据,没有任何问题.我需要能够在用户输入调查信息后从Web服务器动态添加数据.我已经查看了一些我找到的网站,但我没有多少运气.谁能帮我吗?

编辑

<?php 
$dbhost= "mysql"; //your MySQL Server 
$dbuser = "survey"; //your MySQL User Name 
$dbpass = "password"; //your MySQL Password 
$dbname = "database"; 
//your MySQL Database Name of which database to use this 
$tablename = "questions"; //your MySQL Table Name which one you have to create excel file 
// your mysql query here , we can edit this for your requirement 
$sql = "Select * from $table "; 
//create  code for connecting to mysql 
$Connect = @mysql_connect($dbhost, $dbuser, $dbpass) …
Run Code Online (Sandbox Code Playgroud)

php phpexcel

21
推荐指数
2
解决办法
14万
查看次数

PHPExcel - 生成Excel报告期间的数据填充不正确

我正在研究Symfony 2.1中的一个项目.PHPExcel版本是1.8.0.我使用Doctrine从Db中检索数据并根据需要进行过滤.

    $em = $this->getDoctrine()->getManager();
    $guardquery = $em->createQueryBuilder()
            ->select('g.attendancePopupTime', 'd.atmName', 'd.region', 'd.zone', 'd.state')
            ->from('ATMMonitorAPIBundle:GuardMonitor', 'g')
            ->innerJoin('ATMMonitorAPIBundle:DeviceAtmInfo', 'd', Join::WITH, 'd.deviceId = g.deviceId');

    if ($userZones[0]['userZones'] != '0') {
        $guardquery->innerJoin('ATMMonitorAPIBundle:RegisteredDevices', 'r', Join::WITH, 'r.deviceId = g.deviceId')
                ->where('r.deviceZone IN (:devicezone)')
                ->setParameter('devicezone', $zone_array);
    }

    if (isset($dateLow)) {
        $guardquery->andWhere('g.attendancePopupTime BETWEEN :date_low and :date_high')
                ->setParameter('date_low', $dateLow)
                ->setParameter('date_high', $dateHigh);
    }

    $finalAttendanceQuery = $guardquery->getQuery();
    $attendanceResult = $finalAttendanceQuery->getArrayResult();
Run Code Online (Sandbox Code Playgroud)

这是我的查询,并将变量作为2014-12-1作为$ dateLow和2014-12-8作为$ dateHigh,查询返回122行.数据库中有579行.过滤后返回的数据是正确的,我可以使用以下代码将其插入Excel.

    $phpExcelObject = $this->get('phpexcel')->createPHPExcelObject();
      $phpExcelObject->getProperties()->setCreator("")
      ->setLastModifiedBy("Administrator")
      ->setTitle("ATTENDANCE DETAILS XLSX")
      ->setSubject("ATTENDANCE DETAILS  XLSX")
      ->setDescription("EXCEL document for Attendance Details");
      $phpExcelObject->setActiveSheetIndex(0);
      $phpExcelObject->getActiveSheet()->setTitle('GUARD_ATTENDANCE - DETAILS'); …
Run Code Online (Sandbox Code Playgroud)

php mysql phpexcel symfony phpexcelreader

21
推荐指数
1
解决办法
869
查看次数

设置自动调整大小列phpExcel

如何让PHPExcel自动创建列宽我不喜欢手动进入并拉伸列.我看了其他的例子,但没有一个适合我.这是我的代码:

$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', "Company Name");
$objPHPExcel->getActiveSheet()->setCellValue('B1', "Company Type");
$objPHPExcel->getActiveSheet()->setCellValue('C1', "First Name");
$objPHPExcel->getActiveSheet()->setCellValue('D1', "Last Name");
$objPHPExcel->getActiveSheet()->setCellValue('E1', "Position");
$objPHPExcel->getActiveSheet()->setCellValue('F1', "Email");

// Set outline levels

$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setOutlineLevel(1)
                                                       ->setVisible(false)
                                                       ->setCollapsed(true);

// Freeze panes

$objPHPExcel->getActiveSheet()->freezePane('A2');


// Rows to repeat at top

$objPHPExcel->getActiveSheet()->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 1);




try {

    $stmt3 = $DB->prepare('SELECT * FROM companies C INNER JOIN personalInfo PI ON C.CompanyName = PI.Company_id');
    $stmt3->execute();


} catch(PDOException $e) {  
    echo $e->getMessage();  
}

$info3 = $stmt3->fetchAll();


$i = 2;
foreach($info3 as $info) {
    $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $info['CompanyName'])
                                  ->setCellValue('B' . $i, $info['CompanyType']) …
Run Code Online (Sandbox Code Playgroud)

php phpexcel

20
推荐指数
2
解决办法
6万
查看次数

php 5.3.5中不存在php_zip

我正在使用PHPExcel.其中一个要求是我需要启用php_zip.

(...)如果您需要PHPExcel来处理.xlsx或.ods文件,您将需要zip扩展名...

我正在使用PHP v5.3.5.在我的php.ini文件中,我有以下几行:

;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
Run Code Online (Sandbox Code Playgroud)

如果我删除;最后一行,并重新启动Wampserver,我收到以下错误消息:

PHP启动:无法加载动态库'I:/ wamp /.../ ext/php_zip.dll' - 找不到指定的模块.

在阅读网页时,许多人说,从PHP 5.3.0开始,php_zip就是内置的.

如果它是构建的那么为什么这条线仍然在配置中?
我是否收到错误消息,因为它已内置,文件已被删除?

PS.对不起,如果这是在错误的论坛,但不知道还有什么地方把它.

php zip phpexcel

19
推荐指数
2
解决办法
3万
查看次数

PHPExcel输出零作为空白单元格

我正在使用PHPExcel构建一个WordPress插件来导出学生出勤报告.到目前为止,我能够成功获取学生数据(包括出勤)并将其转换并下载为电子表格.不幸的是,有一个奇怪的错误:当学生参加零事件时,电子表格上的那个单元格是空白而不是显示零.我更喜欢它实际为零,但我找不到办法做到这一点.这是我的脚本:

error_reporting( E_ALL);
ini_set( 'include_path', ini_get( 'include_path' ).';../Classes/' );

include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';

$objPHPExcel = new PHPExcel();

$objPHPExcel->setActiveSheetIndex( 0 );
$objPHPExcel->getProperties()->setCreator( $user );
$objPHPExcel->getProperties()->setLastModifiedBy( $user );
$objPHPExcel->getProperties()->setTitle( $title );
$objPHPExcel->getProperties()->setSubject( $title );
$objPHPExcel->getProperties()->setDescription( $title );
$objPHPExcel->getActiveSheet()->fromArray( $data, null, 'A1' );
$objPHPExcel->getActiveSheet()->getStyle('A1:H1')->getFont()->setBold(true);

$columns = array( 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' );

foreach ( $columns as $column ) {

    $objPHPExcel->getActiveSheet()->getColumnDimension($column)->setAutoSize(true);

} // End $columns foreach

$file_name = str_replace( ' ', '_', $title);

if ( $_POST['type'] == 'spreadsheet' ) { …
Run Code Online (Sandbox Code Playgroud)

php phpexcel

19
推荐指数
1
解决办法
1万
查看次数

使用PHPExcel循环工作表

我正在使用PHPExcel库来读取Excel文件并对其执行处理.我想遍历每个工作表.我检查了文档,我找到的只是更改活动工作表索引或仅加载指定的工作表.如何遍历所有工作表?

感谢您的任何帮助.

这是文档的循环示例,供参考:

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

$objPHPExcel = $objReader->load("test.xlsx");
$objWorksheet = $objPHPExcel->getActiveSheet();

echo '<table>' . "\n";
foreach ($objWorksheet->getRowIterator() as $row) {
  echo '<tr>' . "\n";

  $cellIterator = $row->getCellIterator();
  $cellIterator->setIterateOnlyExistingCells(false); // This loops all cells,
                                                     // even if it is not set.
                                                     // By default, only cells
                                                     // that are set will be
                                                     // iterated.
  foreach ($cellIterator as $cell) {
    echo '<td>' . $cell->getValue() . '</td>' . "\n";
  }

  echo '</tr>' . "\n";
}
echo '</table>' . "\n";
?>
Run Code Online (Sandbox Code Playgroud)

php for-loop worksheet phpexcel

19
推荐指数
3
解决办法
3万
查看次数

PHPExcel - 在写入值之前设置单元格类型

你知道如何在写入值之前设置单元格类型吗?我希望能够设置类似"常规","文本"和"数字"的类型.

谢谢.

phpexcel

19
推荐指数
2
解决办法
9万
查看次数

在PHPExcel中将单元格格式设置为百分比

我正在使用PHP自动化excel电子表格.

我一直在寻找一种在PHPExcel中将单元格实际格式化为百分比的方法.

我想改变一个像

0.077922078

8%

这有解决方案吗?

提前致谢.

php formatting percentage phpexcel

18
推荐指数
1
解决办法
3万
查看次数