大家好,我现在用php COM来实现读取excel中的内容,但发现每个单元格能够读取的字符串是有限的,算了一下,是199个英文字符,更长的字符后面被截断了,(本来我想使用ExcelReader类来做,但有些excel表的内容读不出来,有些却可以,就放弃了),可能COM读取Excel有一个什么设置最长字符,但我不知道,哪位大虾帮帮忙!多谢了 $conn = new COM("adodb.connection");
$connstr = "Driver={Microsoft Excel Driver (*.xls)};DBQ=".realpath("../upload/xls/$file_input");
$conn->open($connstr);
$sql_exec = "select * from [$xls_table_name]";//xls_table_name为工作表的名称,
$rs = $conn->execute($sql_exec);
$num_columns = $rs->Fields->count();
for ($i=0; $i < $num_columns; $i++)
{
$fld[$i] = $rs->Fields($i); //each column
}
while(!$rs -> EOF)
{
echo "row is".$fld['6']."\n"; //打印每一行的该单元,最长仅可显示199个字符
$rs->MoveNext();
}
$connstr = "Driver={Microsoft Excel Driver (*.xls)};DBQ=".realpath("../upload/xls/$file_input");
$conn->open($connstr);
$sql_exec = "select * from [$xls_table_name]";//xls_table_name为工作表的名称,
$rs = $conn->execute($sql_exec);
$num_columns = $rs->Fields->count();
for ($i=0; $i < $num_columns; $i++)
{
$fld[$i] = $rs->Fields($i); //each column
}
while(!$rs -> EOF)
{
echo "row is".$fld['6']."\n"; //打印每一行的该单元,最长仅可显示199个字符
$rs->MoveNext();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货