>  기사  >  백엔드 개발  >  기본 PHP에서 Excel 파일을 읽고 쓰는 방법에 대해

기본 PHP에서 Excel 파일을 읽고 쓰는 방법에 대해

不言
不言원래의
2018-06-19 16:14:431935검색

본 글에서는 주로 네이티브 PHP에서 엑셀 파일을 읽고 쓰는 방법을 소개하며, 네이티브 PHP를 사용하여 엑셀 파일을 읽고 쓰는 관련 구현 방법과 운용 주의사항을 예제 형식으로 분석합니다. 이번 글에서는

네이티브 PHP에서 엑셀 파일을 읽고 쓰는 방법을 분석했습니다. 참고하실 수 있도록 자세한 내용을 공유해드리고자 합니다.

최근 업무상 필요한 일이 생겼습니다. 데이터베이스에 있는 데이터를 엑셀 파일로 내보내고, 엑셀 파일을 다운로드해야 합니다. 한번도 해본적이 없어서 바이두에서 찾아봤습니다. 인터넷상에서 대부분의 사람들이 PHPExcel 클래스를 사용하여 엑셀 파일을 조작하는 방법에 대해 이야기하고 있습니다. 네이티브 PHP를 사용하는 것이 너무 번거롭지 않기를 바랍니다. 다행히 일부 네티즌들은 네이티브 PHP를 사용하여 엑셀 파일을 생성하는 방법에 대해 이야기했습니다. 이제 온라인 정보를 기반으로 연습한 코드를 공유하겠습니다.

일반적으로 데이터 가져오기 작업은 사용자가 웹 페이지의 버튼을 클릭하여 해당 js 메서드를 트리거한 다음 PHP 인터페이스를 요청하여 구현됩니다. 따라서 이 요구 사항을 완료하는 데는 두 가지 주요 방법이 있습니다.

방법 1: js 코드에서 직접 window.open()을 사용하여 PHP 인터페이스의 URL을 열고, PHP에서 생성된 Excel 파일을 다운로드할 수 있습니다. window.open()打开php接口的url,即可将php生成的excel文件下载下来。

php接口代码如下:

$mysqli = mysqli_connect('localhost', 'root', '123456', 'test');
$sql = 'select * from country';
$res = mysqli_query($mysqli, $sql);
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=country.xls");
echo "code\t";
echo "name\t";
echo "population\t\n";
if(mysqli_num_rows($res) > 0) {
  while($row = mysqli_fetch_array($res)) {
    echo $row['code']."\t";
    echo $row['name']."\t";
    echo $row['population']."\t\n";
  }
}

方法2:php接口中先把生成的excel文件保存在服务器中,然后把文件路径返回给js,js再使用window.open()

php 인터페이스 코드는 다음과 같습니다.

$mysqli = mysqli_connect('localhost', 'root', '123456', 'test');
$sql = 'select * from country';
$res = mysqli_query($mysqli, $sql);
$file = fopen('./country.xls', 'w');
fwrite($file, "code\tname\tpopulation\t\n");
if(mysqli_num_rows($res) > 0) {
  while($row = mysqli_fetch_array($res)) {
    fwrite($file, $row['code']."\t".$row['name']."\t".$row['population']."\t\n");//这里写得不好,应该把所有文件内容组装到一个字符串中然后一次性写入文件。
  }
}
fclose($file);
echo 'http://www.jtw.com/....../country.xls';//这里返回文件路径给js

방법 2:

php 인터페이스는 먼저 생성된 엑셀 파일을 서버에 저장한 후 파일 경로를 js로 반환하고, js는 를 사용합니다. window.open()다운로드할 파일 경로를 엽니다.

php 인터페이스 코드는 다음과 같습니다.

$path = './country.xls';
$file = fopen($path, 'r');
//标题行读取(第一行)
$row = fgets($file);
$row = explode("\t", $row);
$title = array();
foreach($row as $k => $v) {
  $title[$k] = str_replace("\n", '', $v);
}
//内容读取
$data = array();
$count = 0;
while(!feof($file)) {
  $row = fgets($file);
  $row = explode("\t", $row);
  if(!$row[0]) continue;//去除最后一行
  foreach($title as $k => $v) {
    $data[$count][$title[$k]] = $row[$k];
  }
  $count ++;
}
fclose($file);
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
print_r($data);

두 가지 방법은 매우 유사합니다. 데이터베이스의 데이터를 Excel 파일로 내보내고 파일을 다운로드할 수 있습니다.

필요한 경우 기본 PHP를 사용하여 Excel 파일의 내용을 읽을 수도 있습니다. 이는 주로 Excel 파일의 데이터를 데이터베이스로 가져와야 할 때 사용됩니다.

코드는 다음과 같습니다. (여기서는 파일 데이터를 배열로 읽는 방법만 보여줍니다.)

rrreee

하지만 기본 PHP에서 생성되는 Excel 파일, 즉 저장할 때마다 문제가 있습니다. 파일을 편집한 후 다음과 같은 스크린샷 문제가 항상 발생합니다.

이유를 모르겠습니다. 생성된 파일 자체에 문제가 있는 것일 수도 있습니다. . .
그리고 네이티브 PHP를 사용하여 생성된 Excel 파일을 읽을 때 중국어 문자가 깨지는 등 이상한 상황이 발생할 수 있습니다. 따라서 특정 상황에서만 Excel 파일을 생성하려면 기본 PHP를 사용하는 것이 가장 좋습니다. 파일을 수정하거나 파일을 읽지 않고 쉽게 볼 수 있도록 데이터베이스에서 파일로 데이터를 내보내기만 하면 됩니다. 이 경우 기본 PHP를 사용하여 Excel을 생성하면 요구 사항을 충족하기에 충분하므로 Excel을 작동하기 위해 타사 라이브러리를 사용하는 문제가 제거됩니다. 그러나 파일을 생성한 후에도 여전히 데이터를 수정하고 저장하고 읽어야 하는 경우에는 phpexcel과 같은 타사 라이브러리를 사용하여 읽기 및 쓰기 작업을 수행해야 얽힌 많은 문제를 피할 수 있습니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요! 관련 권장 사항:

php를 기반으로 Excel 또는 CSV로 내보내는 방법

ThinkPHP3.1의 위젯 사용 정보

🎜🎜🎜🎜🎜🎜🎜🎜🎜

위 내용은 기본 PHP에서 Excel 파일을 읽고 쓰는 방법에 대해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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