ユーザーがExcelファイルからサーバーにデータをアップロードし、解析してからWebサイトに表示するようにしています。ユーザーがExcelファイルに単一のアポストロフィを持っている場合、それ以降のすべてが切り捨てられるという問題があります。これは、sql(Excelデータの取得に使用)とaspクラシックコード(ダイナミックHTMLデータの表示に使用)の両方がこれをフィールド区切り文字として解釈しているためです。私はphpを使用してExcelファイルを処理し、アポストロフィを任意の文字に置き換えました。アポストロフィのエスケープバージョンを使用して、 "\'"、 "''"、 "\'\'"、"'"を使用しようとしました。これは、SQLがデータを適切に取得する問題を修正しても、ASPコードが表示される前に文字を切り取ってしまうためです。結局「**」を使ってしまいました
formString= formString & "<tr>" & _"<td align='left'><input name='FirstName' type='text' size='9' maxlength='12' value='"&replace(someUglyString,"**","'")&"'></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());
}