thinkpphp 5.1 프레임 워 크 가 져 오기/엑셀 파일 내 보 내기 작업 예제
thinkpop 5.1 엑셀 파일 가 져 오기
public function importExcel()
{
try {
// ,
if ($_FILES['file']['size'] > 10 * 1024 * 1024) { //
log_debug($log_title . 'END === MSG:' . ' ');
parent::endBack(['state' => 0, 'msg' => ' ']);
}
//
$ext = substr(strrchr($_FILES['file']["name"], '.'), 1);
if ($ext != 'xls' && $ext != 'xlsx') {
log_debug($log_title . 'END === MSG:' . ' ');
parent::endBack(['state' => 0, 'msg' => ' excel ']);
}
//
$filename = $_FILES['file']['tmp_name'];
$reader = IOFactory::createReader('Xlsx'); //Xls,Xlsx
$canRead = $reader->canRead($filename);
if (!$canRead) {
log_debug($log_title . 'END, ,SQL:' . Db::name('')->getLastSql());
parent::endBack(['state' => 0, 'msg' => ' ', 're_login' => false]);
}
$spreadsheet = $reader->load($filename); // excel
$worksheet = $spreadsheet->getActiveSheet(); // sheet
$highestRow = $worksheet->getHighestRow(); //
// $highestColumn = $worksheet->getHighestColumn(); //
if (!(0 < $highestRow)) {
log_debug($log_title . 'END, ,SQL:' . Db::name('')->getLastSql());
parent::endBack(['state' => 0, 'msg' => ' ', 're_login' => false]);
}
// --
$sst_word_arr = []; //
for ($row = 1; $row <= $highestRow; $row++) {
// A
$tmp_word = $spreadsheet->getActiveSheet()->getCell('A' . $row)->getValue();
if ('' != trim($tmp_word) && null != $tmp_word) {
$sst_word_arr[] = $tmp_word;
break; // , ,
}
}
// $sst_word_arr = array_unique($sst_word_arr);
if (empty($sst_word_arr)) {
log_debug($log_title . 'END, ,SQL:' . Db::name('')->getLastSql());
parent::endBack(['state' => 0, 'msg' => ' ', 're_login' => false]);
}
//
for ($row = 2; $row <= $highestRow; $row++) {
// A
$tmp_old_car_num = $spreadsheet->getActiveSheet()->getCell('A' . $row)->getValue();
$car_num = trim($tmp_old_car_num);
if ('' != $car_num && null != $car_num) {
//
}
}
}
$ret_arr = [
'state' => 1,
//
];
log_debug($log_title . 'END,SUCCESS');
parent::endBack($ret_arr);
} catch (\Exception $e) {
//
}
}
excel 파일 형식:thinkpphp 5.1 엑셀 파일 내 보 내기
namespase app\test;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class test {
public function carNumsExport()
{
$log_title = ' => [' . __METHOD__ . '] ';
try {
$file_name = '《 》from y8zh - ' . $user_info['uid'] . '.xlsx';
$file_relative_path = parent::$module_name . DIRECTORY_SEPARATOR . 'fcb_car_nums' . DIRECTORY_SEPARATOR;
$file_path = parent::$api_file_root_path . $file_relative_path;
//
if (file_exists($file_path . $file_name)) {
$ret_arr = [
'state' => 1,
'download_url' => parent::$api_file_get_url . $file_relative_path . $file_name,
];
parent::endBack($ret_arr);
}
if (!is_dir($file_path)) {
mkdir($file_path, 0777, true);
}
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
//
$car_nums = Db::connect('db_config_yun')->name('vechicle')->column('DISTINCT number');
$i = 1;
$sheet->setCellValue('A' . $i, ' ')->getStyle('A' . $i)->getFont()->setBold(true);
$i++;
//
if (!empty($car_nums)) {
foreach ($car_nums as $k_c => $v_c) {
$sheet->setCellValue('A' . $i, $v_c);
$i++;
}
}
$writer = new Xlsx($spreadsheet);
$writer->save($file_path . $file_name);
$ret_arr = [
'state' => 1,
'download_url' => parent::$api_file_get_url . $file_relative_path . $file_name,
];
log_debug($log_title . 'END === DOWNLOAD_URL:' . $ret_arr['download_url']);
parent::endBack($ret_arr);
} catch (\Exception $e) {
//
}
}
}
thinkpHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.본 고 는 ThinkPHP 프레임 워 크 를 기반 으로 한 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thinkpphp 5.1 프레임 워 크 가 져 오기/엑셀 파일 내 보 내기 작업 예제이 사례 는 thinkpp 5.1 프레임 워 크 가 져 오기/엑셀 파일 내 보 내기 작업 을 설명 합 니 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다. thinkpop ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.