阅读下拉列表中的选项列表-Phpexcel

问题描述 投票:3回答:2

我想阅读在Excel工作表的下拉列表中提供的选项列表。

例如:-有一个单元格(86,G)尚未尝试作为选项,但它是一个下拉列表。因此,无论用户选择什么,我都希望从下拉菜单中读取最后一个选项。

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9rdGRvcy5wbmcifQ==” alt =“在此处输入图像说明”>“ >>

如何实现?

谢谢

我想阅读在Excel工作表的下拉列表中提供的选项列表。例如:-某个单元格(86,G)的“未尝试”选项是一个下拉列表。所以没有...

phpexcel
2个回答
0
投票

按照下面的步骤在PHPExcel中阅读下拉菜单


0
投票
    $bankAccounts = "bankAccounts, bankAccounts2";
    $products = "product1, product2";         

     \Excel::create('file', function ($excel) use ($bankAccounts, $products) {
        $excel->sheet('Sale Forecasting', function ($sheet) use ($bankAccounts, $products) {
            $sheet->SetCellValue('A1', 'name');
            $sheet->SetCellValue('A2', 'testing');
            $sheet->SetCellValue('B1', 'valid_from');
            $sheet->SetCellValue('B2', '2020-01');
            $sheet->SetCellValue('C1', 'valid_till');
            $sheet->SetCellValue('C2', '2020-02');
            $sheet->SetCellValue('D1', 'amount');
            $sheet->SetCellValue('D2', '1000');
            $sheet->SetCellValue('E1', 'bank_account');
            $sheet->SetCellValue('F1', 'product');
            $sheet->SetCellValue('G1', 'description');
            $sheet->SetCellValue('G2', 'Lorem ipsum');
            $col_count = 1000;
            for ($i = 2; $i <= $col_count; $i++) {
                $objValidation = $sheet->getCell('E'.$i)->getDataValidation();
                $objValidation->setType(\PHPExcel_Cell_DataValidation::TYPE_LIST);
                $objValidation->setErrorStyle(\PHPExcel_Cell_DataValidation::STYLE_INFORMATION);
                $objValidation->setAllowBlank(false);
                $objValidation->setShowInputMessage(true);
                $objValidation->setShowErrorMessage(true);
                $objValidation->setShowDropDown(true);
                $objValidation->setErrorTitle('Input error');
                $objValidation->setError('Value is not in list.');
                $objValidation->setPromptTitle('Pick from list');
                $objValidation->setPrompt('Please pick a value from the drop-down list.');
                $objValidation->setFormula1('"'.$bankAccounts.'"');
            }

            $col_count = 1000;
            for ($i = 2; $i <= $col_count; $i++) {
                $objValidation = $sheet->getCell('F'.$i)->getDataValidation();
                $objValidation->setType(\PHPExcel_Cell_DataValidation::TYPE_LIST);
                $objValidation->setErrorStyle(\PHPExcel_Cell_DataValidation::STYLE_INFORMATION);
                $objValidation->setAllowBlank(false);
                $objValidation->setShowInputMessage(true);
                $objValidation->setShowErrorMessage(true);
                $objValidation->setShowDropDown(true);
                $objValidation->setErrorTitle('Input error');
                $objValidation->setError('Value is not in list.');
                $objValidation->setPromptTitle('Pick from list');
                $objValidation->setPrompt('Please pick a value from the drop-down list.');
                $objValidation->setFormula1('"'.$products.'"');
            }
        });
    })->download('xlsx');
© www.soinside.com 2019 - 2024. All rights reserved.