이번에는 네이티브 PHP를 사용하여 엑셀 파일을 읽고 쓰는 단계에 대해 자세히 설명하겠습니다. 네이티브 PHP를 사용하여 엑셀 파일을 구현할 때 주의 사항은 무엇입니까?
최근 직장에서 데이터베이스의 데이터를 Excel 파일로 내보내고 해당 Excel 파일을 다운로드해야 하는 상황이 발생했습니다. 한번도 해본적이 없어서 바이두에서 찾아봤습니다. 인터넷상에서 대부분의 사람들이 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()
$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을 사용합니다. () code>다운로드할 파일 경로를 엽니다. 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 '<pre class="brush:php;toolbar:false">';
print_r($data);
로그인 후 복사두 가지 방법은 데이터베이스의 데이터를 Excel 파일로 내보내고 파일을 다운로드할 수 있습니다.
필요한 경우 기본 PHP를 사용하여 Excel 파일의 내용을 읽을 수도 있습니다. 이는 주로 Excel 파일의 데이터를 데이터베이스로 가져와야 할 때 사용됩니다. 코드는 다음과 같습니다. (여기서는 파일 데이터를 배열로 읽는 방법만 보여줍니다.)
rrreee그러나 네이티브 PHP를 사용하여 생성된 Excel 파일에는 문제가 있습니다. 즉, 이후 파일을 저장할 때 항상 나타납니다. 편집 중입니다. 아래 스크린샷의 문제:
이유가 무엇인지 모르겠습니다. 생성된 파일 자체에 문제가 있을 수 있습니다. . . 그리고 네이티브 PHP를 사용하여 생성된 Excel 파일을 읽을 때 중국어 문자가 깨지는 등 이상한 상황이 발생할 수 있습니다. 따라서 특정 상황에서만 Excel 파일을 생성하려면 기본 PHP를 사용하는 것이 가장 좋습니다. 파일을 수정하거나 파일을 읽지 않고 쉽게 볼 수 있도록 데이터베이스에서 파일로 데이터를 내보내기만 하면 됩니다. 이 경우 기본 PHP를 사용하여 Excel을 생성하면 요구 사항을 충족하기에 충분하므로 Excel을 작동하기 위해 타사 라이브러리를 사용하는 문제가 제거됩니다. 그러나 파일을 생성한 후에도 여전히 데이터를 수정하고 저장하고 읽어야 하는 경우에는 phpexcel과 같은 타사 라이브러리를 사용하여 읽기 및 쓰기 작업을 수행해야 얽힌 많은 문제를 피할 수 있습니다. 이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:
laravel 작업 SMS 인증 코드 전송 기능 구현 단계에 대한 자세한 설명
🎜🎜PHP 싱글턴 모드 사용 사례에 대한 자세한 설명🎜🎜🎜위 내용은 기본 PHP를 사용하여 Excel 파일을 읽고 쓰는 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!