백엔드 개발 PHP 튜토리얼 ThinkPHP는 PHPExcel을 사용하여 Excel 데이터를 가져오고 내보냅니다.

ThinkPHP는 PHPExcel을 사용하여 Excel 데이터를 가져오고 내보냅니다.

Jun 07, 2018 pm 04:26 PM
excel phpexcel thinkphp 가져오기 및 내보내기 데이터

이 글에서는 PHPExcel을 사용하여 Excel 데이터 가져오기 및 내보내기를 구현하는 ThinkPHP를 주로 소개합니다. 필요한 친구들은 참고할 수 있습니다.

이 글에 설명된 예제는 Thinkphp의 개발 프레임워크에서 사용됩니다. 다른 프레임워크에서 사용해도 동일합니다.방법으로 Excel의 가져오기 및 내보내기를 올바르게 구현하지 못하는 경우가 있습니다.이 문제는 기본적으로 phpExcel의 핵심 클래스의 참조 경로에 오류가 있는 경우입니다. 문제가 발생하면 모두가 Lu Jin이 올바르게 참조되었는지 테스트해야 합니다.

구체적인 단계는 다음과 같습니다.

(1) Excel 가져오기

먼저 프런트 엔드 HTML 페이지에 파일을 업로드합니다. 예:

<form method="post" action="php文件" enctype="multipart/form-data">
 <h3>导入Excel表:</h3><input type="file" name="file_stu" />

 <input type="submit" value="导入" />
</form>
로그인 후 복사

두 번째, 해당 PHP 파일에서 파일을 처리합니다

 if (! empty ( $_FILES [&#39;file_stu&#39;] [&#39;name&#39;] )) 
 {
 $tmp_file = $_FILES [&#39;file_stu&#39;] [&#39;tmp_name&#39;];
 $file_types = explode ( ".", $_FILES [&#39;file_stu&#39;] [&#39;name&#39;] );
 $file_type = $file_types [count ( $file_types ) - 1];
  /*判别是不是.xls文件,判别是不是excel文件*/
  if (strtolower ( $file_type ) != "xls")    
 {
   $this->error ( &#39;不是Excel文件,重新上传&#39; );
  }
 /*设置上传路径*/
  $savePath = SITE_PATH . &#39;/public/upfile/Excel/&#39;;
 /*以时间来命名上传的文件*/
  $str = date ( &#39;Ymdhis&#39; ); 
  $file_name = $str . "." . $file_type;
  /*是否上传成功*/
  if (! copy ( $tmp_file, $savePath . $file_name )) 
  {
   $this->error ( &#39;上传失败&#39; );
  }
 /*
  *对上传的Excel数据进行处理生成编程数据,这个函数会在下面第三步的ExcelToArray类中

  注意:这里调用执行了第三步类里面的read函数,把Excel转化为数组并返回给$res,再进行数据库写入
 */
 $res = Service ( &#39;ExcelToArray&#39; )->read ( $savePath . $file_name );
 /*
  重要代码 解决Thinkphp M、D方法不能调用的问题 
  如果在thinkphp中遇到M 、D方法失效时就加入下面一句代码
 */
 //spl_autoload_register ( array (&#39;Think&#39;, &#39;autoload&#39; ) );
 /*对生成的数组进行数据库的写入*/
 foreach ( $res as $k => $v ) 
 {
  if ($k != 0) 
  {
   $data [&#39;uid&#39;] = $v [0];
   $data [&#39;password&#39;] = sha1 ( &#39;111111&#39; );
   $data [&#39;email&#39;] = $v [1];
   $data [&#39;uname&#39;] = $v [3];
   $data [&#39;institute&#39;] = $v [4];
   $result = M ( &#39;user&#39; )->add ( $data );
   if (! $result) 
   {
    $this->error ( &#39;导入数据库失败&#39; );
   }
  }
 }
}
로그인 후 복사

세 번째: ExcelToArrary 클래스는 phpExcel을 참조하고 Excel 데이터를 처리하는 데 사용됩니다
여기에 참고하세요:ExcelToArrary 클래스는 루트 디렉터리의 addons/services/ExcelToArrary.class.php에 내장되어 있습니다

class ExcelToArrary extends Service{
 public function __construct() {
  /*导入phpExcel核心类 注意 :你的路径跟我不一样就不能直接复制*/
  include_once(&#39;./Excel/PHPExcel.php&#39;);
 }
/**
* 读取excel $filename 路径文件名 $encode 返回数据的编码 默认为utf8
*以下基本都不要修改
*/ 
public function read($filename,$encode=&#39;utf-8&#39;){
   $objReader = PHPExcel_IOFactory::createReader(&#39;Excel5&#39;); 
   $objReader->setReadDataOnly(true); 
   $objPHPExcel = $objReader->load($filename); 
   $objWorksheet = $objPHPExcel->getActiveSheet(); 
    $highestRow = $objWorksheet->getHighestRow(); 
    $highestColumn = $objWorksheet->getHighestColumn(); 
   $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); 
    $excelData = array(); 
    for ($row = 1; $row <= $highestRow; $row++) { 
    for ($col = 0; $col < $highestColumnIndex; $col++) { 
     $excelData[$row][] =(string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
   } 
   } 
  return $excelData; 
 }  
 }
로그인 후 복사

넷째, 위 내용은 모든 내용입니다. 가져오기의 마지막에 phpExcel 패키지가 첨부됩니다.

(2) Excel 내보내기(가져오기보다 훨씬 간단함)

먼저 데이터베이스에서 Excel을 생성하기 위한 데이터를 찾습니다. 이상이 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 참고해주세요!

관련 권장사항:

thinkphp3.2에서 생성된 그림으로 phpexcel 내보내기 구현

Thinkphp3.2.3

에서 phpqrcode로 로고가 있는 QR 코드를 생성하는 구현 방법

위 내용은 ThinkPHP는 PHPExcel을 사용하여 Excel 데이터를 가져오고 내보냅니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. 크로스 플레이가 있습니까?
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Excel에서 동시에 3개 이상의 키워드를 필터링하는 방법 Excel에서 동시에 3개 이상의 키워드를 필터링하는 방법 Mar 21, 2024 pm 03:16 PM

엑셀은 일상적인 사무에서 데이터를 처리하는 데 자주 사용되며, "필터" 기능을 사용해야 하는 경우가 많습니다. Excel에서 "필터링"을 수행하도록 선택하면 동일한 열에 대해 최대 2개의 조건만 필터링할 수 있습니다. 그러면 Excel에서 동시에 3개 이상의 키워드를 필터링하는 방법을 알고 계십니까? 다음으로 여러분에게 보여드리겠습니다. 첫 번째 방법은 필터에 조건을 점진적으로 추가하는 것입니다. 세 가지 적격 세부정보를 동시에 필터링하려면 먼저 그 중 하나를 단계별로 필터링해야 합니다. 처음에는 조건에 따라 "Wang"이라는 직원을 먼저 필터링할 수 있습니다. 그런 다음 [확인]을 클릭한 후 필터 결과에서 [현재 선택 항목을 필터에 추가]를 선택하세요. 단계는 다음과 같습니다. 마찬가지로 다시 별도로 필터링을 수행합니다.

오픈 소스! ZoeDepth를 넘어! DepthFM: 빠르고 정확한 단안 깊이 추정! 오픈 소스! ZoeDepth를 넘어! DepthFM: 빠르고 정확한 단안 깊이 추정! Apr 03, 2024 pm 12:04 PM

0. 이 글은 어떤 내용을 담고 있나요? 우리는 다재다능하고 빠른 최첨단 생성 단안 깊이 추정 모델인 DepthFM을 제안합니다. DepthFM은 전통적인 깊이 추정 작업 외에도 깊이 인페인팅과 같은 다운스트림 작업에서 최첨단 기능을 보여줍니다. DepthFM은 효율적이며 몇 가지 추론 단계 내에서 깊이 맵을 합성할 수 있습니다. 이 작품을 함께 읽어보아요~ 1. 논문 정보 제목: DepthFM: FastMoncularDepthEstimationwithFlowMatching 저자: MingGui, JohannesS.Fischer, UlrichPrestel, PingchuanMa, Dmytr

thinkphp 프로젝트를 실행하는 방법 thinkphp 프로젝트를 실행하는 방법 Apr 09, 2024 pm 05:33 PM

ThinkPHP 프로젝트를 실행하려면 다음이 필요합니다: Composer를 설치하고, 프로젝트 디렉터리를 입력하고 php bin/console을 실행하고, 시작 페이지를 보려면 http://localhost:8000을 방문하세요.

PPT 슬라이드에 엑셀 아이콘을 삽입하는 방법 PPT 슬라이드에 엑셀 아이콘을 삽입하는 방법 Mar 26, 2024 pm 05:40 PM

1. PPT를 열고 엑셀 아이콘을 삽입해야 하는 페이지로 페이지를 넘깁니다. 삽입 탭을 클릭합니다. 2. [개체]를 클릭하세요. 3. 다음과 같은 대화상자가 나타납니다. 4. [파일에서 생성]을 클릭한 후 [찾아보기]를 클릭하세요. 5. 삽입할 엑셀 표를 선택하세요. 6. 확인을 클릭하면 다음 페이지가 나타납니다. 7. [아이콘으로 표시]를 체크하세요. 8. 확인을 클릭합니다.

Google은 열광하고 있습니다. JAX 성능이 Pytorch와 TensorFlow를 능가합니다! GPU 추론 훈련을 위한 가장 빠른 선택이 될 수 있습니다. Google은 열광하고 있습니다. JAX 성능이 Pytorch와 TensorFlow를 능가합니다! GPU 추론 훈련을 위한 가장 빠른 선택이 될 수 있습니다. Apr 01, 2024 pm 07:46 PM

Google이 추진하는 JAX의 성능은 최근 벤치마크 테스트에서 Pytorch와 TensorFlow를 능가하여 7개 지표에서 1위를 차지했습니다. 그리고 JAX 성능이 가장 좋은 TPU에서는 테스트가 이루어지지 않았습니다. 개발자들 사이에서는 여전히 Tensorflow보다 Pytorch가 더 인기가 있습니다. 그러나 앞으로는 더 큰 모델이 JAX 플랫폼을 기반으로 훈련되고 실행될 것입니다. 모델 최근 Keras 팀은 기본 PyTorch 구현을 사용하여 세 가지 백엔드(TensorFlow, JAX, PyTorch)와 TensorFlow를 사용하는 Keras2를 벤치마킹했습니다. 첫째, 그들은 주류 세트를 선택합니다.

iPhone의 느린 셀룰러 데이터 인터넷 속도: 수정 사항 iPhone의 느린 셀룰러 데이터 인터넷 속도: 수정 사항 May 03, 2024 pm 09:01 PM

지연이 발생하고 iPhone의 모바일 데이터 연결 속도가 느립니까? 일반적으로 휴대폰의 셀룰러 인터넷 강도는 지역, 셀룰러 네트워크 유형, 로밍 유형 등과 같은 여러 요소에 따라 달라집니다. 더 빠르고 안정적인 셀룰러 인터넷 연결을 얻기 위해 할 수 있는 일이 몇 가지 있습니다. 수정 1 – iPhone 강제 다시 시작 때로는 장치를 강제로 다시 시작하면 셀룰러 연결을 포함한 많은 항목이 재설정됩니다. 1단계 – 볼륨 높이기 키를 한 번 눌렀다가 놓습니다. 그런 다음 볼륨 작게 키를 눌렀다가 다시 놓습니다. 2단계 - 프로세스의 다음 부분은 오른쪽에 있는 버튼을 누르는 것입니다. iPhone이 다시 시작되도록 하세요. 셀룰러 데이터를 활성화하고 네트워크 속도를 확인하세요. 다시 확인하세요 수정 2 – 데이터 모드 변경 5G는 더 나은 네트워크 속도를 제공하지만 신호가 약할 때 더 잘 작동합니다

HTML로 Excel 데이터를 읽는 방법 HTML로 Excel 데이터를 읽는 방법 Mar 27, 2024 pm 05:11 PM

HTML로 Excel 데이터를 읽는 방법: 1. JavaScript 라이브러리를 사용하여 Excel 데이터를 읽습니다. 2. 서버측 프로그래밍 언어를 사용하여 Excel 데이터를 읽습니다.

thinkphp에는 여러 버전이 있습니다. thinkphp에는 여러 버전이 있습니다. Apr 09, 2024 pm 06:09 PM

ThinkPHP에는 다양한 PHP 버전용으로 설계된 여러 버전이 있습니다. 메이저 버전에는 3.2, 5.0, 5.1, 6.0이 포함되며, 마이너 버전은 버그를 수정하고 새로운 기능을 제공하는 데 사용됩니다. 최신 안정 버전은 ThinkPHP 6.0.16입니다. 버전을 선택할 때 PHP 버전, 기능 요구 사항 및 커뮤니티 지원을 고려하십시오. 최상의 성능과 지원을 위해서는 최신 안정 버전을 사용하는 것이 좋습니다.

See all articles