PHPExcel $ cell-> getColumn()返回'A','B','C',...
这是从单元格中获取整数(0,1,2,...)的最佳方法.
此功能不存在.
$colIndex = $cell->getColumnIndex();
Run Code Online (Sandbox Code Playgroud)
那么将chr转换为ascii的替代方案是什么?
使用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
不会允许一个范围,只有一个单元格.我怎样才能做到这一点?
我从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) 我正在研究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) 如何让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) 我正在使用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.对不起,如果这是在错误的论坛,但不知道还有什么地方把它.
我正在使用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) 我正在使用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自动化excel电子表格.
我一直在寻找一种在PHPExcel中将单元格实际格式化为百分比的方法.
我想改变一个像
0.077922078
至
8%
这有解决方案吗?
提前致谢.
phpexcel ×10
php ×9
for-loop ×1
formatting ×1
mysql ×1
percentage ×1
symfony ×1
worksheet ×1
zip ×1