使用以下代码,我可以使用PHPExcel从Excel文件中读取单元格.
我目前手动定义要读取的行数和列数.
有没有一种方法PHPExcel可以告诉我有多少行和列我必须读取以从工作表中获取所有数据,例如,即使某些行和列留空?
$file_name = htmlentities($_POST['file_name']);
$sheet_name = htmlentities($_POST['sheet_name']);
$number_of_columns = htmlentities($_POST['number_of_columns']);
$number_of_rows = htmlentities($_POST['number_of_rows']);
$objReader = PHPExcel_IOFactory::createReaderForFile("data/" . $file_name);
$objReader->setLoadSheetsOnly(array($sheet_name));
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load("data/" . $file_name);
echo '<table border="1">';
for ($row = 1; $row < $number_of_rows; $row++) {
echo '<tr>';
for ($column = 0; $column < $number_of_columns; $column++) {
$value = $objPHPExcel->setActiveSheetIndex(0)->getCellByColumnAndRow($column, $row)->getValue();
echo '<td>';
echo $value . ' ';
echo '</td>';
}
echo '</tr>';
}
echo '</table>';
Run Code Online (Sandbox Code Playgroud)
谢谢,Mark,这是这些功能的完整解决方案:
$file_name = htmlentities($_POST['file_name']);
$sheet_name = htmlentities($_POST['sheet_name']);
$number_of_columns = …Run Code Online (Sandbox Code Playgroud) 其中一个经典的编程面试问题......
给你两个大理石,并告诉他们从某个高度下降时会破裂(如果从那个高度以下掉落,可能不会受到伤害).然后你被带到一座100层高的建筑物(大概高于一定的高度),并要求找到最高的楼层,你可以尽可能高效地将大理石从大地上掉下来.
额外信息
回答另一个问题,我编写了下面的程序来比较排序数组中的不同搜索方法.基本上我比较了插值搜索和二分搜索的两种实现.我通过计算不同变体所花费的周期(使用相同的数据集)来比较性能.
但是我确信有一些方法可以优化这些功能,使它们更快.有没有人对如何更快地使这个搜索功能有任何想法?使用C或C++的解决方案是可以接受的,但我需要它来处理具有100000个元素的数组.
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <stdint.h>
#include <assert.h>
static __inline__ unsigned long long rdtsc(void)
{
unsigned long long int x;
__asm__ volatile (".byte 0x0f, 0x31" : "=A" (x));
return x;
}
int interpolationSearch(int sortedArray[], int toFind, int len) {
// Returns index of toFind in sortedArray, or -1 if not found
int64_t low = 0;
int64_t high = len - 1;
int64_t mid;
int l = sortedArray[low];
int h = sortedArray[high];
while (l <= …Run Code Online (Sandbox Code Playgroud)