在单元格内创建连字符列表
Creating a hyphen list inside a cell
我正在尝试弄清楚如何将连字符列表插入到带有 phpexcel 的单元格中,如下所示:
-Value A
-Value B
我尝试使用以下代码片段:
// input value can be something else
$value = "-ValueA\n-Value B";
if (strpos($value, '-') === 0 || strpos($value, '=') === 0) {
$value = '\'' . $value;
$cell->setValueExplicit($value, \PHPExcel_Cell_DataType::TYPE_FORMULA);
} else {
$cell->setValueExplicit($value, \PHPExcel_Cell_DataType::TYPE_STRING);
}
$cell->getStyle()->getAlignment()->setWrapText(true);
但是使用此代码 phpexcel 在字符串前添加一个等号 (=)。
当我跳过部分以转义连字符 (-) 时 excel 在单元格中显示撇号,如:
'-Value A
-Value B
直到我点击进出单元格。
如何正确转义连字符?我正在使用 PHPExcel 1.8.1 和 PHP 5.6.8。创建一个 xlsx 文件并使用 Excel 2007.
打开它
您只需要一个包含换行符的字符串....但不要尝试将其设置为公式....它不是公式
$value = "-ValueA\n-Value B\n-Value C";
$objPHPExcel->getActiveSheet()
->setCellValue('A10', $value);
$objPHPExcel->getActiveSheet()
->getRowDimension(10)
->setRowHeight(-1);
$objPHPExcel->getActiveSheet()
->getStyle('A10')
->getAlignment()
->setWrapText(true);
编辑
如果您想在单元格值前加上引号以避免 MS Excel 试图将该值视为公式,请不要在实际值前加上引号,而是使用 quotePrefix
样式设置:
$objPHPExcel->getActiveSheet()
->getStyle('A10')
->setQuotePrefix(true);
Excel2007 (.xlsx
) 仅
我正在尝试弄清楚如何将连字符列表插入到带有 phpexcel 的单元格中,如下所示:
-Value A
-Value B
我尝试使用以下代码片段:
// input value can be something else
$value = "-ValueA\n-Value B";
if (strpos($value, '-') === 0 || strpos($value, '=') === 0) {
$value = '\'' . $value;
$cell->setValueExplicit($value, \PHPExcel_Cell_DataType::TYPE_FORMULA);
} else {
$cell->setValueExplicit($value, \PHPExcel_Cell_DataType::TYPE_STRING);
}
$cell->getStyle()->getAlignment()->setWrapText(true);
但是使用此代码 phpexcel 在字符串前添加一个等号 (=)。
当我跳过部分以转义连字符 (-) 时 excel 在单元格中显示撇号,如:
'-Value A
-Value B
直到我点击进出单元格。
如何正确转义连字符?我正在使用 PHPExcel 1.8.1 和 PHP 5.6.8。创建一个 xlsx 文件并使用 Excel 2007.
打开它您只需要一个包含换行符的字符串....但不要尝试将其设置为公式....它不是公式
$value = "-ValueA\n-Value B\n-Value C";
$objPHPExcel->getActiveSheet()
->setCellValue('A10', $value);
$objPHPExcel->getActiveSheet()
->getRowDimension(10)
->setRowHeight(-1);
$objPHPExcel->getActiveSheet()
->getStyle('A10')
->getAlignment()
->setWrapText(true);
编辑
如果您想在单元格值前加上引号以避免 MS Excel 试图将该值视为公式,请不要在实际值前加上引号,而是使用 quotePrefix
样式设置:
$objPHPExcel->getActiveSheet()
->getStyle('A10')
->setQuotePrefix(true);
Excel2007 (.xlsx
) 仅