추천: "PHP 비디오 튜토리얼"
글이 길지 않아요, 글이 길지 않아요, 글이 길지 않아요
이 양식은 橙心优选
리더 페이스 시트
첫 번째 업로드에서 따왔습니다. the form
Idea
- 총 몇 개의 열이 있는지 결정해야 합니다. 헤더에 1~2개의 열을 추가로 남겨둘 수 있습니다. 너비를 0으로
- 나머지는 셀 병합 및 셀 스타일 설정입니다
excel 부분 클래스 구조
나열된 것 중 일부는 메서드 이름이고 일부는 클래스 속성이며 이 문서에서 사용된 속성만 참고하세요. 자세한 내용이 나와 있습니다. 해당 클래스 파일을 살펴보세요
Speadsheet // 实例化 excel Sheet // 当前活动 sheet PhpOffice\PhpSpreadsheet\Worksheet\Worksheet getColumnDimension // 操作列 width // 设置列宽 autoSize // 自动大小 getRowDimension // 操作行 height // 设置行高 getCell // 获取要操作的单元格(An:Gn),如 (A2:G7) style 同Speadsheet 下的 Style setValue // 设置值 mergeCell // 合并单元格 pageSetup // 页面设置,包含纸张大小,比如 A4 ... pageMargins // 页边距 ... headerFooter // 页眉页脚 ... ... Style // 处理样式 PhpOffice\PhpSpreadsheet\Style\Style Font // 处理字体 size // 字体大小 bold // 加粗 underline // 下划线 color // 处理颜色 argb // 带透明度颜色 rgb // 颜色 Fill // 处理填充 fillType // 填充方式 startColor // 开始颜色(不清楚用处) endColor // 结束颜色(不清楚用处) color // 处理颜色 argb // 带透明度颜色 背景色带透明 rgb // 颜色 背景色 Borders Alignment NumberFormat Protection
인스턴스화 후의 예
는 다음 변수를 사용합니다
$spreadsheet = new Spreadsheet(); // 实例化 excel 操作类,默认初始化 sheet 序号为 0 $sheet = $spreadsheet->getActiveSheet(0); // 拿到要操作的 sheet,必须是已存在的 // 获取操作表格样式的类(全局样式) $defaultStyle = $spreadsheet->getDefaultStyle(); // PhpOffice\PhpSpreadsheet\Style\Style 实例
사용 예
테이블 스타일을 설정합니다
작업 텍스트 정렬
// 获取操作对齐方式 类 $align = $defaultStyle->getAlignment(); // 设置 Horizontal(水平) 和 Vertical(垂直) 都居中,一个类中的方法,可以连贯操作 $align->setHorizontal(Alignment::HORIZONTAL_CENTER)->setVertical(Alignment::VERTICAL_CENTER) // 仅水平居中 $align->setHorizontal(Alignment::HORIZONTAL_CENTER); // 仅垂直居中 $align->setVertical(Alignment::VERTICAL_CENTER);
작업 테두리
// 获取操作对齐方式 类 $border = $defaultStyle->getBorders(); // 设置底部边框 $border->getBottom()->setBorderStyle(Border::BORDER_THIN)
작업 글꼴
// 获取字体操作类 $font = $defaultStyle->getFont() // 设置字体 18, 加粗,加下划线 $font->setSize(18)->setBold(true)->setUnderline(Font::UNDERLINE_SINGLE); // 操作颜色,需要先获取颜色操作 类 $font->getColor()->setRGB('333333');
작업 열
$column = $sheet->getColumnDimension('A') // 设置列宽 $column->setWidth(7);
완전하고 직접 실행 가능한 예제
// 引入必要类 use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\Style\Alignment; use PhpOffice\PhpSpreadsheet\Style\Fill; use PhpOffice\PhpSpreadsheet\Style\Border; $spreadsheet = new Spreadsheet(); // 获取活动 sheet $sheet = $spreadsheet->getActiveSheet(0); // 设置表格全部上下居中 $defaultStyle = $spreadsheet->getDefaultStyle(); $defaultStyle->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER)->setVertical(Alignment::VERTICAL_CENTER); $defaultStyle->getFont()->getColor()->setRGB('333333'); // 设置列宽 $sheet->getColumnDimension('A')->setWidth(7); $sheet->getColumnDimension('B')->setWidth(35); $sheet->getColumnDimension('C')->setWidth(11); $sheet->getColumnDimension('D')->setWidth(12); $sheet->getColumnDimension('E')->setWidth(12); $sheet->getColumnDimension('F')->setWidth(0); // 预留列 $sheet->getColumnDimension('G')->setWidth(14); $line = 1; // 大标题 // 合并单元格 $sheet->mergeCells('A'. $line .':G'. $line); // 合并单元格 $sheet->getRowDimension($line)->setRowHeight(40); // 设置行高 $ATitle = $sheet->getCell('A' . $line); // 获取单元格 $ATitle->getStyle('A' . $line)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER); // 内容水平居中 $ATitle->getStyle('A' . $line)->getFont()->setSize(22)->setBold(true); // 字体大小,加粗 $ATitle->setValue('Smallnews - 门店订单'); $line ++; // 店长信息 $sheet->mergeCells('A' . $line . ':G' . $line); $sheet->getStyle('A' . $line . ':G' . $line)->getBorders()->getBottom()->setBorderStyle(Border::BORDER_THIN); // 下边框样式 $AStore = $sheet->getCell('A' . $line); $AStore->getStyle('A' . $line)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_LEFT); // 内容水平居左 $AStore->getStyle('A' . $line)->getFont()->setSize(16)->setBold(true); // 字体大小,加粗 $AStore->setValue('Smallnews/157****1560'); $line ++; // 门店地址 $sheet->mergeCells('A' . $line . ':G' . $line); $AAddress = $sheet->getCell('A' . $line); $AAddress->getStyle('A' . $line)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_LEFT); $AAddress->getStyle('A' . $line)->getFont()->setSize(14); $AAddress->setValue('北京望京 SOHO'); $line ++; // 运单统计 $sheet->mergeCells('A' . $line . ':B' . $line); // AB 合并 $sheet->getRowDimension($line)->setRowHeight(40); // 设置行高 $ATotalOrder = $sheet->getCell('A' . $line); $ATotalOrder->getStyle('A' . $line)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_LEFT)->setVertical(Alignment::VERTICAL_BOTTOM); // 内容水平居左,垂直居下 $ATotalOrder->getStyle('A' . $line)->getFont()->setSize(12); $ATotalOrder->setValue('订单数量:5'); $sheet->mergeCells('C' . $line . ':D' . $line); // CD 合并 $CTotalGoods = $sheet->getCell('C' . $line); $CTotalGoods->getStyle('C' . $line)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_LEFT)->setVertical(Alignment::VERTICAL_BOTTOM); // 内容水平居左,垂直居下 $CTotalGoods->getStyle('C' . $line)->getFont()->setSize(12); $CTotalGoods->setValue('商品总量:20'); $sheet->mergeCells('E' . $line . ':G' . $line); // EFG 合并 $ESend = $sheet->getCell('E' . $line); $ESend->getStyle('E' . $line)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_RIGHT)->setVertical(Alignment::VERTICAL_BOTTOM); // 内容水平居左,垂直居下 $ESend->getStyle('E' . $line)->getFont()->setSize(12); $ESend->setValue('发货时间:' . date('Y-m-d')); $line ++; // 增加一个空行,充当上下内容的 margin $sheet->mergeCells('A' . $line . ':G' . $line); $sheet->getRowDimension($line)->setRowHeight(6); $line ++; // 模拟订单数据 $orders = [ ['items' => [ ['goods_title' => '这是个名字很长的商品,真的很长, 不信你看,肯定超过了表格宽度'], ['goods_title' => '这是个名字比较短的商品'], ]], ['items' => [ ['goods_title' => '转向 卫衣秋季潮牌新款宽松时尚套头紫橘色橙色短款连帽卫衣女'], ['goods_title' => '芙清医美面膜医用男女淡化痘印抗菌敷料水光针术后修复皮炎祛痘'], ['goods_title' => '经典麻辣锅底'], ]] ]; // 订单数据 foreach ($orders as $order) { // 购买信息 $sheet->getRowDimension($line)->setRowHeight(30); $sheet->getStyle('A' . $line . ':G' . $line)->getFont()->setSize(14); $sheet->getStyle('A' . $line . ':G' . $line)->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setRGB('CCCCCC'); $sheet->mergeCells('A' . $line . ':B' . $line); $AUser = $sheet->getCell('A' . $line); $AUser->getStyle('A' . $line)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_LEFT); $AUser->getStyle('A' . $line)->getFont()->setSize(15)->setBold(true); // 模拟用户数据 $user = [ 'nickname' => 'Smallnews', 'mobile' => '15788881560' ]; $nickname = mb_strlen($user['nickname']) > 7 ? mb_substr($user['nickname'], 0, 6) . '**' : $user['nickname']; $AUser->setValue($nickname . ($user['mobile'] ? ' / ' .substr($user['mobile'], 0, 3) . '****' . substr($user['mobile'], 7) : '')); $sheet->mergeCells('C' . $line . ':G' . $line); $CTotal = $sheet->getCell('C' . $line); $CTotal->getStyle('C' . $line)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_RIGHT); $CTotal->getStyle('C' . $line)->getFont()->setSize(14); $CTotal->setValue('共 2 种商品,共 3 件,实付 200 元'); $line++; // 增加一个空行,充当上下内容的 margin $sheet->mergeCells('A' . $line . ':G' . $line); $sheet->getRowDimension($line)->setRowHeight(6); $line ++; // 订单商品信息 $sheet->getStyle('A' . $line . ':G' . ($line + count($order['items'])))->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN); // 根据商品数量, 设置区域的边框 $sheet->setCellValue('A' . $line, '序号'); $sheet->setCellValue('B' . $line, '商品名称'); $sheet->setCellValue('C' . $line, '单价'); $sheet->setCellValue('D' . $line, '优惠'); $sheet->setCellValue('E' . $line, '数量'); $sheet->setCellValue('F' . $line, ''); $sheet->setCellValue('G' . $line, '是否提货'); foreach ($order['items'] as $key => $item) { $line ++; $sheet->setCellValue('A' . $line, ($key + 1)); $sheet->getStyle('B' . $line)->getAlignment()->setHorizontal(Alignment::HORIZONTAL_LEFT); // 商品名称 水平居左 $goods_title = mb_strlen($item['goods_title']) > 16 ? mb_substr($item['goods_title'], 0, 14) . '**' : $item['goods_title']; $sheet->setCellValue('B' . $line, $goods_title); $sheet->setCellValue('C' . $line, '22.22'); $sheet->setCellValue('D' . $line, '11.11'); $sheet->setCellValue('E' . $line, 3); $sheet->setCellValue('F' . $line, ''); $sheet->setCellValue('G' . $line, ''); } $line++; $sheet->mergeCells('A' . $line . ':G' . $line); $sheet->getRowDimension($line)->setRowHeight(6); $line++; } ob_end_clean(); header('pragma:public'); header('Content-type:application/vnd.ms-excel;charset=utf-8;name="' . '门店面单' . '.xls"'); header("Content-Disposition:attachment;filename=门店面单.xls"); //attachment新窗口打印inline本窗口打印 $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save('php://output');
위 내용은 PhpOffice에서 아름다운 양식을 작성하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

phpsessionscanstorestrings, 숫자, 배열 및 객체 1.Strings : TextDatalikeUsernames.2.numbers : integorfloatsforcounters.3.arrays : listslikeshoppingcarts.4.objects : complexStructuresThatareserialized.

세션 재생은 세션 고정 공격의 경우 사용자가 민감한 작업을 수행 할 때 새 세션 ID를 생성하고 이전 ID를 무효화하는 것을 말합니다. 구현 단계에는 다음이 포함됩니다. 1. 민감한 작업 감지, 2. 새 세션 ID 생성, 3. 오래된 세션 ID 파괴, 4. 사용자 측 세션 정보 업데이트.

PHP 세션은 응용 프로그램 성능에 큰 영향을 미칩니다. 최적화 방법은 다음과 같습니다. 1. 데이터베이스를 사용하여 세션 데이터를 저장하여 응답 속도를 향상시킵니다. 2. 세션 데이터 사용을 줄이고 필요한 정보 만 저장하십시오. 3. 비 차단 세션 프로세서를 사용하여 동시성 기능을 향상시킵니다. 4. 사용자 경험과 서버 부담의 균형을 맞추기 위해 세션 만료 시간을 조정하십시오. 5. 영구 세션을 사용하여 데이터 읽기 및 쓰기 시간의 수를 줄입니다.

phpsessionsareser-side, whilecookiesareclient-side.1) sessions stessoredataontheserver, andhandlargerdata.2) cookiesstoredataonthecure, andlimitedinsize.usesessionsforsensitivestataondcookiesfornon-sensistive, client-sensation.

phpidifiesauser의 sssessionusessessioncookiesandssessionids.1) whensession_start () iscalled, phpgeneratesauniquessessionStoredInacookienamedPhpsSessIdonSeuser 'sbrowser.2) thisidallowsphptoretrievessessionDataTromServer.

PHP 세션의 보안은 다음 측정을 통해 달성 할 수 있습니다. 1. Session_REGENEREAT_ID ()를 사용하여 사용자가 로그인하거나 중요한 작업 일 때 세션 ID를 재생합니다. 2. HTTPS 프로토콜을 통해 전송 세션 ID를 암호화합니다. 3. 세션 _save_path ()를 사용하여 세션 데이터를 저장하고 권한을 올바르게 설정할 보안 디렉토리를 지정하십시오.

phpsessionfilesarestoredInTheRectorySpecifiedBysession.save_path, 일반적으로/tmponunix-likesystemsorc : \ windows \ temponwindows.tocustomizethis : 1) austession_save_path () toSetacustomDirectory, verlyTeCustory-swritation;


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

드림위버 CS6
시각적 웹 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전
