2012-07-25 107 views
0

我有用户上传excel文件中的数据到我的服务器,解析并显示在我的网站上。我有一个问题,如果用户在excel文件中有一个单撇号,它会切断它后面的所有内容。这是因为sql(用于获取excel数据)和asp经典代码(用于显示动态html数据)都将其解释为字段分隔符。我用php来处理excel文件并用我想要的任何字符替换撇号。我试图使用撇号的转义版本无效“\'”,“''”,“\'\'”,“'”。这是因为即使他们解决了sql正确攫取数据的问题,ASP代码在显示之前仍然会截断字符。最后我用“**”,以替换撇号要过去的SQL,但它是为用户通过ASP输出之前,必须将其转换回一个撇号:单一撇号解析问题ASP CLASSIC

formString= formString & "<tr>" & _"<td align='left'><input name='FirstName' type='text' size='9' maxlength='12' value='"&replace(someUglyString,"**","&#39;")&"'></td>" 

有没有人碰到这个?有任何想法吗?根据要求

PHP:

for ($i = 1; $i <= $objPHPExcel->getActiveSheet()->getHighestRow(); $i++) { 
$cell = $objPHPExcel->getActiveSheet()->getCellByColumnAndRow('A', $i); 
$cell->setValue(str_replace("'","**",$cell->getValue())); 
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow('A',$i,$cell->getValue()); 

}

+0

对不起,你为什么混合ASP和PHP?你不能只选择一种语言并坚持下去吗?另外,请向我们展示用于将文件处理到数据库中的PHP代码,因为这是真正的问题所在。 – DaveRandom 2012-07-25 16:51:23

+0

该PHP工作正常,它取代了我告诉它。只是稍后输出字段的asp是什么问题。 PHP读取excel文件并将字段中的撇号转换为我所需的内容,然后将其重新保存在服务器上。 – woodlumhoodlum 2012-07-25 16:55:22

+0

我的观点是“用随机字符串替换”方法是错误的 - 您应该简单地转义输入,以便将原始数据正确输入到数据库中。 – DaveRandom 2012-07-25 17:00:09

回答

0

&者做到了。我真的很惊讶,我无法在任何地方找到这个。