HOME > 이용안내
이용안내
 
작성일 : 15-01-23 12:21
[스크립트언어] [PHP] php에서 Excel 파일 읽기/쓰기
 글쓴이 : 제이네트워크
조회 : 283,305  
[PHP] php에서 Excel 파일 읽기/쓰기


PHP - Excel 내려받기 
문서의 해드에 아래 소스를 추가합니다.
 
header("Content-type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=파일명.xls"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0,pre-check=0"); 
header("Pragma: public"); 
 
위 파일을 추가 했을때 아래와 같은 오류가 나올경우 해경 방법
 
* 오류 메시지
Warning: Cannot modify header information - headers already sent by 
(output started at 파일경로명/php_excel/excel_export.php:16) 
in 파일경로명/php_excel/excel_export.php on line 70 
 
* 원인및 해결 방법
원인은 문서의 해드 아래에 해드 변화 소스를 입력했기 때문입니다.
 
즉 ) 아래와 같이 코딩하면 오류 메시지 나옵니다.
 
<html>
 <head>
소스코딩
</head>
 <body>
 
<? 
header("Content-type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=파일명.xls"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0,pre-check=0"); 
header("Pragma: public"); 
?>
</body> 
</html>
 
* 올바른 사용예는 아래와 같습니다.
 
<?
header("Content-type: application/vnd.ms-excel"); 
header("Content-Disposition: attachment; filename=파일명.xls"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0,pre-check=0"); 
header("Pragma: public"); 
?>
<html>
<head>
소스코딩
</head>
<body>
 
</body>
</html>

=====================================================================================

[PHP 에서 Excel 파일 읽어 DB에 저장 방법]
 
 http://code.google.com/p/php-excel-reader/
 위 주소에서 php-excel-reader  를 다운로드 하여 사용.
 
 기본 사용 방법은 example.php를 참조하면 됩니다.
 
 엑셀 로단위로 읽어 DB에 저장하게 수정한 소스는 아래와같습니다.
 
<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once 'excel_reader2.php';
$data = new Spreadsheet_Excel_Reader("파일명.xls");
?>
<html>
<head>
</head>
 
<body>
<?php 
  $server = "localhost"; //서버 이름
  $id    = ""; //db 접속 아이디
  $pass   = ""; //디비 접속 비밀번호
  $connect = mysql_connect($server,$id,$pass);
  mysql_select_db("dbname",$connect);
  
  
 // 엑셀 첫번째 sheet 행 개수
 $rowcount = $data->rowcount($sheet_index=0); 
 
 for($i=2 ;$i<=$rowcount; $i++){
  
   
 //val(행,열)
  $ID    = $data->val($i,4);
  
 $Point = $data->val($i,3);
   $QUE = "Sql Query";
     $ok = mysql_query($QUE , $connect) or die(db_error());
    } 
?>
</body>
</html>






Cloud server Streaming service Domain Cloud Firewall

제이네트워크 15-01-23 12:24
 
[mysql db 내용을 엑셀파일로 내려받기]

<table>
  <tr>
    <td>번호</td>
    <td>이름</td>
  </tr>
 
<?
$table = "테이블이름";
$sql = "select * from ".$table;
$query = mysql_qyery($sql);
 

///////////////////////////////////////////////////////////////////////// 엑셀얻기 시작
 $downfile= $table."_".date("Y-m-d").".xls";  // 다운받을 화일
 header( "Content-type: application/vnd.ms-excel" );
 header( "Content-Disposition: attachment; filename=".$downfile );
 header( "Content-Description: PHP4 Generated Data" );
 ///////////////////////////////////////////////////////////////////////// 엑셀얻기 끝
 
 
while($data = mysql_fetch_assoc($query)) {
 
?>
  <tr>
    <td><?=$data[번호필드]?></td>
    <td><?=$data[이름필드]?></td>
  </tr>
 <?
}
?>

</table>
제이네트워크 15-01-23 12:28
 
PHP header를 이용해서 PHP페이지를 엑셀 파일 형태로 내려받을 수 있는데요. 두 가지 방법이 있습니다.

 

1. xls로 내려받기

<?
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=파일명.xls");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");
?>
<table>
<?for($i=1;$i<10;$i++){?>
<tr>
<td>안녕하세요</td>
<td>반갑습니다.</td>
</tr>
<?}?>
</table>
* 헤더 아래에 있는 테이블 내용들이 엑셀로 출력됩니다.

2. csv로 내려받기

<?
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=파일명.csv");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");
?>
<?for($i=1;$i<10;$i++){?>
안녕하세요,반갑습니다.
<?}?>
</table>

* xls와는 다르게 csv는 ,(쉼표)로 열을 구분하고 줄바꿈으로 행을 구분합니다.
 
 

Total 373

번호 제   목   글쓴이 날짜 조회
213 [리눅스서버] [named] dig 명령어 사용법 제이네트워크 2015-02-14 23572
212 [기타] 영상샘플 제이네트워크 2015-02-11 22270
211 [리눅스서버] [LINUX]리눅스 한글관련 지원관련 문제 제이네트워크 2015-02-05 26609
210 [스크립트언어] [ASP]windows2008R2 서버에서 cdo.message 사용시 에러 [CDO.Message.1 error '80040222… (1) 제이네트워크 2015-01-28 34800
209 [윈도우미디어] [windows8.x wmp설치 문제] w8에서 윈도우 미디어 플레이어 설치 제이네트워크 2015-01-26 31779
208 [네트워크] [Bonding 활용]복수개의 랜카드를 묶어 대역폭을 확보 하기 제이네트워크 2015-01-23 23194
207 [스크립트언어] [PHP 에서 순위 구하기] 제이네트워크 2015-01-23 26607
206 [스크립트언어] [PHP] php에서 Excel 파일 읽기/쓰기 (2) 제이네트워크 2015-01-23 283306
205 [리눅스서버] [Linux] 리눅스에서 Split 를 사용하여 큰 파일을 작은파일로 나누기 제이네트워크 2015-01-23 25390
204 [스크립트언어] [PHP] php 함수, 외국인 등록번호 체크 제이네트워크 2015-01-23 27424
203 [메일] [Mail] 네이버 웍스메일에서 아웃룩(outlook), 스마트폰에서 수발신 가능하게 … 제이네트워크 2015-01-23 28162
202 [리눅스서버] [Linux] Centos 에서 yum 을 이용하여 rpm 다운로드방법과 rpm 패키지 설치 및 삭… 제이네트워크 2015-01-23 27209
201 [리눅스서버] [LINUX]리눅스 명령어로 프로세서 한번에 죽이기 제이네트워크 2015-01-22 24339
200 [DB] [MSSQL]SQL 서버 관리자가 알아야 할 11가지 유용한 팁 제이네트워크 2015-01-21 25206
199 [리눅스서버] Linux 에서 NTFS파일시스템으로 마운트하기 제이네트워크 2015-01-21 26871
198 [DB] MySQL DB Table 유실로 인한 장애시 Mysql Binary 로그를 통한 복구 (2) 제이네트워크 2015-01-21 20836
197 [리눅스서버] [rsync]rsync로 서버이전시에 서버에 있는 DATA 소유권/권한 관련 문제 제이네트워크 2015-01-21 31415
196 [리눅스서버] [SSH]SSH Geoip적용 하여 국가별 IP 허용하기 제이네트워크 2015-01-21 32419
195 [스크립트언어] [PHP] phpize 를 이용한 php iconv 모듈 추가 제이네트워크 2015-01-21 29504
194 [DB] [mysql] 해당 컬럼 값을 1씩 증가시키기 와 mysql 자료형,제약조건,엔진 제이네트워크 2015-01-21 38610
193 [스크립트언어] [PHP]이온큐브 로더 ioncube loader 설치방법 입니다. (php.ini설정) 제이네트워크 2015-01-21 31877
192 [리눅스서버] Linux 로그파일의 종류 제이네트워크 2015-01-16 24803
191 [리눅스서버] Linux 파일시스템 디버깅을 이용한 파일복구법 제이네트워크 2015-01-16 24584
190 [리눅스서버] Apache / httpd 설치방법의 차이 (prefork, worker방식) 제이네트워크 2015-01-16 26399
189 [스크립트언어] PHP 5.3 이상 버전에서의 Zend Optimizer 설치 제이네트워크 2015-01-16 28799
188 [스크립트언어] PHP에서 엑셀파일을 생성할 수 있도록 도와주는 클래스입니다. 제이네트워크 2015-01-16 28148
187 [리눅스서버] [리눅스서버 - ftp] vsftpd.conf 설정의 기본 옵션 제이네트워크 2015-01-16 32982
186 [DB] [DB]mysql에서 외부 디비를 커넥션할 경우 접속 속도가 느려질때 제이네트워크 2015-01-16 30246
185 [리눅스서버] Centos 6.x + php5.x 에서 mssql 서버 연동방법 (1) 제이네트워크 2014-12-12 37619
184 [윈도우서버] [asp]windows2003 IIS6.X 설정백업 제이네트워크 2014-12-09 22895
183 [윈도우서버] [IIS7.X 백업] IIS7.X 설정 자동 백업 방법 제이네트워크 2014-12-09 25913
182 [스크립트언어] [asp]HTTP 오류 500.24 - Internal Server Error 관리되는 통합 파이프라인 모드에 적용… 제이네트워크 2014-12-09 30813
181 [기타] [워드프레스]워드프레스 이전 후 도메인주소(URL)변경하기 제이네트워크 2014-11-27 30315
180 [리눅스서버] [SSL]OPEN SSL 사용 Apache서버에서 CSR 인증키 생성 제이네트워크 2014-11-26 30394
179 [스크립트언어] [asp]Microsoft VBScript 런타임 오류 오류 '800a01ad' 제이네트워크 2014-11-22 29249
178 [wowza] IP CAMERA 및 DVR영상(rtsp)을 wowza server 3.x 통해서 스트리밍하기(wowza restreaming) 제이네트워크 2014-08-26 22423
177 [기타] [구글 외부 메일 주소를 사용할때 네임서버 설정] (리눅스 bind의 경우) 제이네트워크 2014-06-13 24527
176 [기타] [네임서버]네이버웍스를 사용할 경우 MX 레코드 설정 (리눅스 bind의 경우) 제이네트워크 2014-06-13 33238
175 [기타] [워드프레스]영문으로 설치된 워드프레스 한글화 하기 제이네트워크 2014-06-06 24023
174 [윈도우서버] [IIS7.0 MIME type 추가 방법] win2008 서버 IIS7.X 에서 .hwp 파일 업/다운로드 안될때 제이네트워크 2014-05-26 29208
 1  2  3  4  5  6  7  8  9  10