6

以下のコードから xlsx にエクスポートされたすべてのワークシートの名前を変更しようとしています。エクスポートは正常に機能しますが、すべてのワークシートのタイトルはワークシート 1、2、3 などです。

PHP データベースの「asset_name」列から名前を取得したいと考えています。

例:worksheet1->aaa

次のようになりたい: asset1-> aaa

乾杯、

/** Query 1.0 */
    $query = "SELECT * FROM asset_register";
    $query2 = "SELECT asset_name FROM asset_register";

    if ($result = mysql_query($query) or die(mysql_error())) {

    /** Create a new PHPExcel object 1.0 */
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->setTitle('Data');
}
/** Loop through the result set */
$rowNumber = 1; //start in row 1

$objPHPExcel->removeSheetByIndex(0);
while ($row = mysql_fetch_row($result)) {

    $newsheet = $objPHPExcel->createSheet();
    $col = 'A'; // start at column A

    $objPHPExcel->getActiveSheet()->setTitle(mysql_query($query2));

    foreach($row as $cell) {
        $newsheet->setCellValue($col.$rowNumber,$cell);
        $col++;
    }
4

2 に答える 2

0

私はほとんど同じことをしましたが、結果は得られません。デフォルトの名前でExcelに1つのワークシートを作成するだけです。テーブルからの名前を持つデータベーステーブルからの複数のワークシートが必要です。

  $query = "select name from campaigns WHERE clients_id='77'";



$result = mysqli_query($con,$query) or die(mysqli_connect_error());


$objPHPExcel = new PHPExcel();

$prevName = NULL;

$objPHPExcel->removeSheetByIndex(0);

while ($row = mysqli_fetch_row($result)){



 if ($row['name'] !== $prevName) {



$newsheet = $objPHPExcel->createSheet();





 $newsheet->setTitle($row['name']);

$prevName=$row['name'];

}

}

于 2014-08-26T08:16:45.017 に答える