제목 | PHP Spreadsheet 로 엑셀을 저장하려고 합니다. | ||
---|---|---|---|
카테고리 | CI 4 관련 | ||
글쓴이 | 엘제이 | 작성시각 | 2023/02/24 17:02:35 |
|
|||
ob_start(); include "test.php"; $content = ob_get_contents(); ob_end_clean();
이렇게 사용하면 된다는데 문제는 CI 를 이용하는 것이라 (컨트롤러에서 ...) ew ExcelLibrary(); -> html?? ('파일명', 데이타); 에서 데이타에 파일의 내용을 넘겨줘야 하는데 cii 컨트롤러에서 include를 사용할 수 없고 $var = view(.....); // 안되겠죠 ;;;;
방법을 알고 싶습니다. |
|||
다음글 | 코드이그나이터 공부를 하려고 하는데 괜찮은 강좌 있을까... (1) | ||
이전글 | ci3 개발 환경.. 테스트 환경 구성에 대해서 (1) | ||
변종원(웅파)
/
2023/03/09 14:30:01 /
추천
0
|
darkninja
/
2023/03/09 20:46:02 /
추천
0
https://stackoverflow.com/questions/66334823/implement-phpspreadsheet-in-codeigniter-4 Well, I launched the phpSpreadsheet download with composer from the Codeigniter 4 application root and then created the following controller: <?php //ci4/app... //ci4/PhpOffice\PhpSpreadsheet <= 여기에 업로드 //ci4/public // //ci4를 사용하시면 아래처럼 간단히 사용가능한거 같은데요 ㅋ 생각만... namespace App\Controllers; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; class Example extends BaseController { public function index() { $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->setCellValue('A1', 'Hello World !'); $writer = new Xlsx($spreadsheet); $writer->save('hello world.xlsx'); } } Everything seems to be working now! No need to edit other files. Thanks again to those who answered me, the information was useful |
darkninja
/
2023/03/09 23:15:42 /
추천
0
[php] composer 없이 spreadsheet 사용하기 https://duotone.co.kr/entry/composer-%EC%97%86%EB%8B%88-phpspreadsheet-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0 This is a copy of PhpSpreadSheet that will work without need of Composer https://github.com/YoloZoloo/PhpSpreadSheet/tree/main 위에 가시면 ZipStream과 MyCLabs을 구할수 있습니다 ; 이것들을 PhpOffice 디렉토리와 같은 레벨에 복사하시고 또한 그안에 각각 autoloader.php를 만들어 넣으셔야 합니다 위 작업들이 순조롭게 진행되었을 경우 hello world.xlsx 파일을 ci4의 public디렉토리에서 구경할수 있습니다. 그럼 행운을 함께 하기를.... |
darkninja
/
2023/03/09 23:20:25 /
추천
0
음,, 중요한걸 빼먹었습니다 <?php namespace App\Controllers; if (!defined('BASEPATH')) exit('No direct script access allowed'); use CodeIgniter\HTTP\RequestInterface; use CodeIgniter\HTTP\ResponseInterface; use Psr\Log\LoggerInterface; class Home extends BaseController { protected $farm_controller = FARM_CONTROLLER; protected $farm_table = FARM; protected $farm_recent_count = FARM_RECENT_COUNT; protected $gam_controller = GAM_CONTROLLER; protected $gam_table = GAM; protected $gam_recent_count = GAM_RECENT_COUNT; protected $machine_controller = MACHINE_CONTROLLER; protected $machine_table = MACHINE; protected $machine_recent_count = MACHINE_RECENT_COUNT; protected $cut_subject = CUT_SUBJECT; protected $board_recent_model; public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger) { // Do Not Edit This Line parent::initController($request, $response, $logger); require_once(DOC_BASE.'/PhpOffice/Psr/autoloader.php'); require_once(DOC_BASE.'/PhpOffice/PhpSpreadsheet/autoloader.php'); require_once(DOC_BASE.'/ZipStream/autoloader.php'); require_once(DOC_BASE.'/MyCLabs/autoloader.php'); $this->board_recent_model = new \App\Models\board_recent_model(); } public function PhpSpreadsheet() { $data = Array( 'head_data' => array( 'title' => 'PhpSpreadsheet', ), 'view_data' => array( ), 'tail_data' => array( ) ); $data = array_replace_recursive($this->data, $data); echo view('main_head', $data['head_data']); echo view('PhpSpreadsheet', $data['view_data']); echo view('main_tail', $data['tail_data']); }
view file <?php use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; error_reporting(E_ALL); ini_set("display_errors", 1); ini_set('memory_limit', -1); // 메모리 제한을 해제해준다. $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->setCellValue('A1', 'Hello World !'); $writer = new Xlsx($spreadsheet); $writer->save('hello world.xlsx'); ?>
|
darkninja
/
2023/03/09 23:42:06 /
추천
0
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Test page</title> <style> </style> </head> <body> <?php //source //https://duotone.co.kr/entry/composer-%EC%97%86%EB%8B%88-phpspreadsheet-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0 //https://github.com/YoloZoloo/PhpSpreadSheet/tree/main //https://products.aspose.app/cells/ko/viewer use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; //define('DOC_BASE', DOCUMENT_ROOT.BASE_PATH); define('DOC_BASE', '../ci-426'); require_once(DOC_BASE.'/PhpOffice/Psr/autoloader.php'); require_once(DOC_BASE.'/PhpOffice/PhpSpreadsheet/autoloader.php'); require_once(DOC_BASE.'/ZipStream/autoloader.php'); require_once(DOC_BASE.'/MyCLabs/autoloader.php'); error_reporting(E_ALL); ini_set("display_errors", 1); ini_set('memory_limit', -1); // 메모리 제한을 해제해준다. $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->setCellValue('A1', '한번만 더 해보자!'); $writer = new Xlsx($spreadsheet); $writer->save('one more.xlsx'); ?> </body> </html>
|
라이브러리로 로드 하셔야 합니다. (매뉴얼 참고)
해당 라이브러리 샘플 보시면 충분히 하실 수 있는 작업입니다.