الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الى خبراء php هنا كود ماعرفت استفيد منه ... ممكن المساعه؟؟؟

مغلق
بدأه StandAlone في 24 يناير 2007 · 0 رد · 456 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم ورحمة الله وبركاته

هذا كود لانشاء ملف اكسيل وحفظه ووووو

الخلاصه :

عندي ملف اكسيل مفتوح دائما كيف يمكن حفظه عن طريق php ؟؟؟ انا لسه جديد على ال php واريد مساعدتكم

واليكم الكود :

*******************************************************************

<?php

/****************************************************************

* Script : PHP Simple Excel File Generator - Base Class

* Project : PHP SimpleXlsGen

* Author : Erol Ozcan <eozcan@superonline.com>

* Version : 0.2

* Copyright : GNU LGPL

* URL : http://psxlsgen.sourceforge.net

* Last modified : 19 May 2001

* Description : This class is used to generate very simple

* MS Excel file (xls) via PHP.

* The generated xls file can be obtained by web as a stream

* file or can be written under $default_dir path. This package

* is also included mysql, pgsql, oci8 database interaction to

* generate xls files.

* Limitations:

* - Max character size of a text(label) cell is 255

* ( due to MS Excel 5.0 Binary File Format definition )

*

* Credits : This class is based on Christian Novak's small

* Excel library functions.

******************************************************************/

if( !defined( "PHP_SIMPLE_XLS_GEN" ) ) {

define( "PHP_SIMPLE_XLS_GEN", 1 );

class PhpSimpleXlsGen {

var $class_ver = "0.2"; // class version

var $xls_data = ""; // where generated xls be stored

var $default_dir = ""; // default directory to be saved file

var $filename = "psxlsgen"; // save filename

var $fname = ""; // filename with full path

var $crow = 0; // current row number

var $ccol = 0; // current column number

var $totalcol = 0; // total number of columns

var $get_type = 0; // 0=stream, 1=file

var $errno = 0; // 0=no error

var $error = ""; // error string

var $dirsep = "/"; // directory separator

var $header = 1; // 0=no header, 1=header line for xls table

// Default constructor

function PhpSimpleXlsGen()

{

$os = getenv( "OS" );

$temp = getenv( "TEMP");

// check OS and set proper values for some vars.

if ( stristr( $os, "Windows" ) ) {

$this->default_dir = $temp;

$this->dirsep = "\";

} else {

// assume that is Unix/Linux

$this->default_dir = "/tmp";

$this->dirsep = "/";

}

// begin of the excel file header

$this->xls_data = pack( "ssssss", 0x809, 0x08, 0x00,0x10, 0x0, 0x0 );

// check header text

if ( $this->header ) {

$this->Header();

}

}

function Header( $text="" ) {

if ( $text == "" ) {

$text = "This file was generated using PSXlsGen at ".date("r");

}

if ( $this->totalcol < 1 ) {

$this->totalcol = 1;

}

$this->InsertText( $text );

$this->crow += 2;

$this->ccol = 0;

}

// end of the excel file

function End()

{

$this->xls_data .= pack( "ss", 0x0A, 0x00 );

return;

}

// write a Number (double) into row, col

function WriteNumber_pos( $row, $col, $value )

{

$this->xls_data .= pack( "sssss", 0x0203, 14, $row, $col, 0x00 );

$this->xls_data .= pack( "d", $value );

return;

}

// write a label (text) into Row, Col

function WriteText_pos( $row, $col, $value )

{

$len = strlen( $value );

$this->xls_data .= pack( "s*", 0x0204, 8 + $len, $row, $col, 0x00, $len );

$this->xls_data .= $value;

return;

}

// insert a number, increment row,col automatically

function InsertNumber( $value )

{

if ( $this->ccol == $this->totalcol ) {

$this->ccol = 0;

$this->crow++;

}

$this->WriteNumber_pos( $this->crow, $this->ccol, &$value );

$this->ccol++;

return;

}

// insert a number, increment row,col automatically

function InsertText( $value )

{

if ( $this->ccol == $this->totalcol ) {

$this->ccol = 0;

$this->crow++;

}

$this->WriteText_pos( $this->crow, $this->ccol, &$value );

$this->ccol++;

return;

}

// Change position of row,col

function ChangePos( $newrow, $newcol )

{

$this->crow = $newrow;

$this->ccol = $newcol;

return;

}

// new line

function NewLine()

{

$this->ccol = 0;

$this->crow++;

return;

}

// send generated xls as stream file

function SendFile( $filename )

{

$this->filename = $filename;

$this->SendFile();

}

// send generated xls as stream file

function SendFile()

{

$this->End();

header ( "Expires: Mon, 1 Apr 1974 05:00:00 GMT" );

header ( "Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT" );

header ( "Cache-Control: no-cache, must-revalidate" );

header ( "Pragma: no-cache" );

header ( "Content-type: application/x-msexcel" );

header ( "Content-Disposition: attachment; filename=$this->filename.xls" );

header ( "Content-Description: PHP Generated XLS Data" );

print $this->xls_data;

}

// change the default saving directory

function ChangeDefaultDir( $newdir )

{

$this->default_dir = $newdir;

return;

}

// Save generated xls file

function SaveFile( $filename )

{

$this->filename = $filename;

$this->SaveFile();

}

// Save generated xls file

function SaveFile()

{

$this->End();

$this->fname = $this->default_dir."$this->dirsep".$this->filename;

if ( !stristr( $this->fname, ".xls" ) ) {

$this->fname .= ".xls";

}

$fp = fopen( $this->fname, "wb" );

fwrite( $fp, $this->xls_data );

fclose( $fp );

return;

}

// Get generated xls as specified type

function GetXls( $type = 0 ) {

if ( !$type && !$this->get_type ) {

$this->SendFile();

} else {

$this->SaveFile();

}

}

} // end of the class PHP_SIMPLE_XLS_GEN

}

// end of ifdef PHP_SIMPLE_XLS_GEN

Example

<?php

/****************************************************************

* Script : Simple test example for PhpSimpleXlsGen

* Project : PHP SimpleXlsGen

* Author : Erol Ozcan <eozcan@superonline.com>

* Version : 0.2

* Copyright : GNU LGPL

* URL : http://psxlsgen.sourceforge.net

* Last modified : 18 May 2001

******************************************************************/

include( "psxlsgen.php" );

$myxls = new PhpSimpleXlsGen();

$myxls->totalcol = 2;

$myxls->InsertText( "Erol" );

$myxls->InsertText( "Ozcan" );

$myxls->InsertText( "This text should be at (3,0) if header was used, otherwise at (1,0)" );

$myxls->ChangePos(4,0);

$myxls->InsertText( "You must pay" );

$myxls->InsertNumber( 20.48 );

$myxls->WriteText_pos(4,2, "USD to use this class :-))" ); // hidden costs :-))

$myxls->SendFile();

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…