excel读取

Jun 06, 2016 pm 07:32 PM
excel lib php コンテンツ 詳しい 読む

无详细内容 无 ?php$xlsPath = 'library_generate.xls'; //指定要读取的exls路径 //$type = 'Excel2007'; //设置要解析的Excel类型 Excel5(2003或以下版本)或Excel2007$type = 'Excel5';//引入excel类include 'Classes/PHPExcel.php';include 'Classes/PHPExc

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<?php

$xlsPath = 'library_generate.xls'; //指定要读取的exls路径

//$type = 'Excel2007'; //设置要解析的Excel类型 Excel5(2003或以下版本)或Excel2007

$type = 'Excel5';

//引入excel类

include 'Classes/PHPExcel.php';        

include 'Classes/PHPExcel/IOFactory.php';

$xlsReader = PHPExcel_IOFactory::createReader($type); 

$xlsReader->setReadDataOnly(true);

$xlsReader->setLoadSheetsOnly(true);

$Sheets = $xlsReader->load($xlsPath);

 

//开始读取

$Sheet = $Sheets->getSheet(0)->toArray(); //读取第一个工作表(注意编号从0开始) 如果读取多个可以做一个循环0,1,2,3....

//得到二维数组,每个小数组是excel表格内容的一行 里面包含此行的每列的数据 

echo '<pre class="brush:php;toolbar:false">';

print_r($Sheet);

?>

ログイン後にコピー
ログイン後にコピー

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

<?php

 

   

 

 

require_once './Classes/PHPExcel.php';  

 

   

 

// uncomment  

 

//require_once './Classes/PHPExcel/Writer/Excel5.php';     // 用于其他低版本xls  

 

// or  

//require_once './Classes/PHPExcel/Writer/Excel2007/StringTable.php';

//require_once './Classes/PHPExcel/Writer/IWriter.php';

//require_once './Classes/PHPExcel/Writer/Excel2007.php'; // 用于 excel-2007 格式  

 

   

 

// 创建一个处理对象实例  

 

$objExcel = new PHPExcel();  

 

   

 

// 创建文件格式写入对象实例, uncomment  

 

$objWriter = new PHPExcel_Writer_Excel5($objExcel);     // 用于其他版本格式  

 

// or  

 

//$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式  

 

//$objWriter->setOffice2003Compatibility(true);  

 

   

 

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

 

//设置文档基本属性  

 

$objProps = $objExcel->getProperties();  

 

$objProps->setCreator("Zeal Li");  

 

$objProps->setLastModifiedBy("Zeal Li");  

 

$objProps->setTitle("Office XLS Test Document");  

 

$objProps->setSubject("Office XLS Test Document, Demo");  

 

$objProps->setDescription("Test document, generated by PHPExcel.");  

 

$objProps->setKeywords("office excel PHPExcel");  

 

$objProps->setCategory("Test");  

 

   

 

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

 

//设置当前的sheet索引,用于后续的内容操作。  

 

//一般只有在使用多个sheet的时候才需要显示调用。  

 

//缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0  

 

$objExcel->setActiveSheetIndex(0);  

 

   

 

   

 

$objActSheet = $objExcel->getActiveSheet();  

 

   

 

//设置当前活动sheet的名称  

 

$objActSheet->setTitle('sheet1');  

 

   

 

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

 

//设置单元格内容  

 

//  

 

//由PHPExcel根据传入内容自动判断单元格内容类型  

 

$objActSheet->setCellValue('A2', '中国11');  // 字符串内容 

 

/*

$abc = array('A','B','C','D','E','F','G','H','I','J','K');

$test = array(

    array('中国','人民','共和国'),

    array('你好','阿什顿飞','999'),

    array('风华','孤傲','轻松'),

    array('北京','上海','天津'),

 

);

foreach($test as $k => $v){//每一个$k为一行数据

        $k++;

        foreach($v as $kk => $vs){//每一个$vs是一行中的列

            $objActSheet->setCellValue($abc[$kk] . $k, $vs);  // 字符串内容 

        }

}

  

*/

 

   

 

 

 

 

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

 

//设置单元格样式  

 

//  

 

   

 

//设置宽度  

 

$objActSheet->getColumnDimension('B')->setAutoSize(true);  

 

$objActSheet->getColumnDimension('A')->setWidth(30);  

 

   

 

 

   

 

//设置单元格内容的数字格式。  

 

//  

 

//如果使用了 PHPExcel_Writer_Excel5 来生成内容的话,  

 

//这里需要注意,在 PHPExcel_Style_NumberFormat 类的 const 变量定义的  

 

//各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode  

 

//为 FORMAT_NUMBER 的时候,实际出来的效果被没有把格式设置为"0"。需要  

 

//修改 PHPExcel_Writer_Excel5_Format 类源代码中的 getXf($style) 方法,  

 

//在 if ($this->_BIFF_version == 0x0500) { (第363行附近)前面增加一  

 

//行代码:  

 

//if($ifmt === '0') $ifmt = 1;  

 

//  

 

//设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字  

 

//被使用科学记数方式显示,配合下面的 setAutoSize 方法可以让每一行的内容  

 

//都按原始内容全部显示出来。  

   

 

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

 

//输出内容  

 

//  

 

   

 

//生成excel到文件  

//-----------------------------------

//$objWriter->save('./test.xls');  

//------------------------------------

   

 

//或者直接浏览器下载   (任选其一)

//------------------------------------

$outputFileName = "output.xls";

header("Content-Type:application/octet-stream;charset=utf-8");

header('Content-Disposition: attachment; filename=' . $outputFileName);

$objWriter->save('php://output');

//------------------------------------

 

   

 

?>  

ログイン後にコピー
ログイン後にコピー

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

<?php

require_once './Classes/PHPExcel.php';  

// 创建一个处理对象实例  

 

$objExcel = new PHPExcel();  

 

   

 

// 创建文件格式写入对象实例, uncomment  

 

$objWriter = new PHPExcel_Writer_Excel5($objExcel);     // 用于其他版本格式  

 

//设置文档基本属性  

 

$objProps = $objExcel->getProperties();  

 

$objProps->setCreator("Zeal Li");  

 

$objProps->setLastModifiedBy("Zeal Li");  

 

$objProps->setTitle("Office XLS Test Document");  

 

$objProps->setSubject("Office XLS Test Document, Demo");  

 

$objProps->setDescription("Test document, generated by PHPExcel.");  

 

$objProps->setKeywords("office excel PHPExcel");  

 

$objProps->setCategory("Test");  

 

   

 

 

$objExcel->setActiveSheetIndex(0);  

 

 

$objActSheet = $objExcel->getActiveSheet();  

 

   

 

//设置当前活动sheet的名称  

 

$objActSheet->setTitle('sheet1');  

 

   

 

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

 

//设置单元格内容  

 

//  

$arr = array(

    0 => array('id'=>'1','name'=>'zhangsan','pwd'=>'1223334343434343434343222'),

    1 => array('id'=>'2','name'=>'lisi','pwd'=>'xxx'),

    2 => array('id'=>'3','name'=>'wangwu','pwd'=>'122www33'),

    3 => array('id'=>'4','name'=>'liliu','pwd'=>'0000'),

 

);

//由PHPExcel根据传入内容自动判断单元格内容类型 

$nums = array('1' => 'A','2' => 'B',3=>'C','4'=>'D');

$i = 1;

foreach($arr as $k => $v){

    $j=1;

    foreach($v as $k1=>$v1){

        echo $v1;

        //

        $objActSheet->setCellValue($nums[$j] . $i, $v1);  //

        $j++;

    }

    $i++;

}

 

//合并单元格

//$objActSheet->mergeCells('A2:C2');

//$objStyleA1 = $objActSheet->getStyle('A2');

//设置居中

//$objStyleA1->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

//设置格式为字符串

//$objActSheet->setCellValueExplicit($nums[$j] . $i, ' '.$v1,PHPExcel_Cell_DataType::TYPE_STRING);  // 字符串内容 

//设置宽度  

 

$objActSheet->getColumnDimension('B')->setAutoSize(true);  

 

$objActSheet->getColumnDimension('A')->setWidth(30);  

 

//输出内容  

 

//  

 

$outputFileName = "output.xls";  

 

//到文件  

 

$objWriter->save('./test.xls');  

exit;

 

//或者直接浏览器下载   (任选其一)

//------------------------------------

$outputFileName = "output.xls";

header("Content-Type:application/octet-stream;charset=utf-8");

header('Content-Disposition: attachment; filename=' . $outputFileName);

$objWriter->save('php://output');

//------------------------------------

 

 

?>  

ログイン後にコピー
ログイン後にコピー

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

<?

require_once './Classes/PHPExcel.php';

 

// uncomment

////require_once 'PHPExcel/Writer/Excel5.php';    // 用于其他低版本xls

// or

////require_once 'PHPExcel/Writer/Excel2007.php'; // 用于 excel-2007 格式

 

// 创建一个处理对象实例

$objExcel = new PHPExcel();

 

// 创建文件格式写入对象实例, uncomment

$objWriter = new PHPExcel_Writer_Excel5($objExcel);    // 用于其他版本格式

// or

//$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式

//$objWriter->setOffice2003Compatibility(true);

 

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

//设置文档基本属性

$objProps = $objExcel->getProperties();

$objProps->setCreator("Zeal Li");

$objProps->setLastModifiedBy("Zeal Li");

$objProps->setTitle("Office XLS Test Document");

$objProps->setSubject("Office XLS Test Document, Demo");

$objProps->setDescription("Test document, generated by PHPExcel.");

$objProps->setKeywords("office excel PHPExcel");

$objProps->setCategory("Test");

 

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

//设置当前的sheet索引,用于后续的内容操作。

//一般只有在使用多个sheet的时候才需要显示调用。

//缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0

$objExcel->setActiveSheetIndex(0);

 

 

$objActSheet = $objExcel->getActiveSheet();

 

//设置当前活动sheet的名称

$objActSheet->setTitle('测试Sheet');

 

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

//设置单元格内容

//

//由PHPExcel根据传入内容自动判断单元格内容类型

$objActSheet->setCellValue('A1', '字符串内容');  // 字符串内容

$objActSheet->setCellValue('A2', 26);            // 数值

$objActSheet->setCellValue('A3', true);          // 布尔值

$objActSheet->setCellValue('A4', '=SUM(A2:A2)'); // 公式

 

//显式指定内容类型

$objActSheet->setCellValueExplicit('A5', '847475847857487584',

                                   PHPExcel_Cell_DataType::TYPE_STRING);

 

//合并单元格

$objActSheet->mergeCells('B1:C22');

 

//分离单元格

$objActSheet->unmergeCells('B1:C22');

 

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

//设置单元格样式

//

 

//设置宽度

$objActSheet->getColumnDimension('B')->setAutoSize(true);

$objActSheet->getColumnDimension('A')->setWidth(30);

 

$objStyleA5 = $objActSheet->getStyle('A5');

 

//设置单元格内容的数字格式。

//

//如果使用了 PHPExcel_Writer_Excel5 来生成内容的话,

//这里需要注意,在 PHPExcel_Style_NumberFormat 类的 const 变量定义的

//各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode

//为 FORMAT_NUMBER 的时候,实际出来的效果被没有把格式设置为"0"。需要

//修改 PHPExcel_Writer_Excel5_Format 类源代码中的 getXf($style) 方法,

//在 if ($this->_BIFF_version == 0x0500) { (第363行附近)前面增加一

//行代码:

//if($ifmt === '0') $ifmt = 1;

//

//设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字

//被使用科学记数方式显示,配合下面的 setAutoSize 方法可以让每一行的内容

//都按原始内容全部显示出来。

$objStyleA5

    ->getNumberFormat()

    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);

 

//设置字体

$objFontA5 = $objStyleA5->getFont();

$objFontA5->setName('Courier New');

$objFontA5->setSize(10);

$objFontA5->setBold(true);

$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);

$objFontA5->getColor()->setARGB('FF999999');

 

//设置对齐方式

$objAlignA5 = $objStyleA5->getAlignment();

$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);

$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

 

//设置边框

$objBorderA5 = $objStyleA5->getBorders();

$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

$objBorderA5->getTop()->getColor()->setARGB('FFFF0000'); // color

$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

 

//设置填充颜色

$objFillA5 = $objStyleA5->getFill();

$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);

$objFillA5->getStartColor()->setARGB('FFEEEEEE');

 

//从指定的单元格复制样式信息.

$objActSheet->duplicateStyle($objStyleA5, 'B1:C22');

 

 

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

//添加图片

/*

$objDrawing = new PHPExcel_Worksheet_Drawing();

$objDrawing->setName('ming');

$objDrawing->setDescription('Image inserted by Zeal');

$objDrawing->setPath('./com133.com.gif');

$objDrawing->setHeight(36);

$objDrawing->setCoordinates('C23');

$objDrawing->setOffsetX(10);

$objDrawing->setRotation(15);

$objDrawing->getShadow()->setVisible(true);

$objDrawing->getShadow()->setDirection(36);

$objDrawing->setWorksheet($objActSheet);

*/

 

//添加一个新的worksheet

$objExcel->createSheet();

$objExcel->getSheet(1)->setTitle('测试2');

 

//保护单元格

$objExcel->getSheet(1)->getProtection()->setSheet(true);

$objExcel->getSheet(1)->protectCells('A1:C22', 'PHPExcel');

 

 

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

//输出内容

 

//到文件

//$objWriter->save('./a.xls');

 

//exit;

//或者直接浏览器下载   (任选其一)

//------------------------------------

$outputFileName = "output.xls";

header("Content-Type:application/octet-stream;charset=utf-8");

header('Content-Disposition: attachment; filename=' . $outputFileName);

$objWriter->save('php://output');

//------------------------------------

 

?>

ログイン後にコピー
ログイン後にコピー

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<?php

$xlsPath = 'library_generate.xls'; //指定要读取的exls路径

//$type = 'Excel2007'; //设置要解析的Excel类型 Excel5(2003或以下版本)或Excel2007

$type = 'Excel5';

//引入excel类

include 'Classes/PHPExcel.php';        

include 'Classes/PHPExcel/IOFactory.php';

$xlsReader = PHPExcel_IOFactory::createReader($type); 

$xlsReader->setReadDataOnly(true);

$xlsReader->setLoadSheetsOnly(true);

$Sheets = $xlsReader->load($xlsPath);

 

//开始读取

$Sheet = $Sheets->getSheet(0)->toArray(); //读取第一个工作表(注意编号从0开始) 如果读取多个可以做一个循环0,1,2,3....

//得到二维数组,每个小数组是excel表格内容的一行 里面包含此行的每列的数据 

echo '<pre class="brush:php;toolbar:false">';

print_r($Sheet);

?>

ログイン後にコピー
ログイン後にコピー

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

<?php

 

   

 

 

require_once './Classes/PHPExcel.php';  

 

   

 

// uncomment  

 

//require_once './Classes/PHPExcel/Writer/Excel5.php';     // 用于其他低版本xls  

 

// or  

//require_once './Classes/PHPExcel/Writer/Excel2007/StringTable.php';

//require_once './Classes/PHPExcel/Writer/IWriter.php';

//require_once './Classes/PHPExcel/Writer/Excel2007.php'; // 用于 excel-2007 格式  

 

   

 

// 创建一个处理对象实例  

 

$objExcel = new PHPExcel();  

 

   

 

// 创建文件格式写入对象实例, uncomment  

 

$objWriter = new PHPExcel_Writer_Excel5($objExcel);     // 用于其他版本格式  

 

// or  

 

//$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式  

 

//$objWriter->setOffice2003Compatibility(true);  

 

   

 

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

 

//设置文档基本属性  

 

$objProps = $objExcel->getProperties();  

 

$objProps->setCreator("Zeal Li");  

 

$objProps->setLastModifiedBy("Zeal Li");  

 

$objProps->setTitle("Office XLS Test Document");  

 

$objProps->setSubject("Office XLS Test Document, Demo");  

 

$objProps->setDescription("Test document, generated by PHPExcel.");  

 

$objProps->setKeywords("office excel PHPExcel");  

 

$objProps->setCategory("Test");  

 

   

 

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

 

//设置当前的sheet索引,用于后续的内容操作。  

 

//一般只有在使用多个sheet的时候才需要显示调用。  

 

//缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0  

 

$objExcel->setActiveSheetIndex(0);  

 

   

 

   

 

$objActSheet = $objExcel->getActiveSheet();  

 

   

 

//设置当前活动sheet的名称  

 

$objActSheet->setTitle('sheet1');  

 

   

 

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

 

//设置单元格内容  

 

//  

 

//由PHPExcel根据传入内容自动判断单元格内容类型  

 

$objActSheet->setCellValue('A2', '中国11');  // 字符串内容 

 

/*

$abc = array('A','B','C','D','E','F','G','H','I','J','K');

$test = array(

    array('中国','人民','共和国'),

    array('你好','阿什顿飞','999'),

    array('风华','孤傲','轻松'),

    array('北京','上海','天津'),

 

);

foreach($test as $k => $v){//每一个$k为一行数据

        $k++;

        foreach($v as $kk => $vs){//每一个$vs是一行中的列

            $objActSheet->setCellValue($abc[$kk] . $k, $vs);  // 字符串内容 

        }

}

  

*/

 

   

 

 

 

 

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

 

//设置单元格样式  

 

//  

 

   

 

//设置宽度  

 

$objActSheet->getColumnDimension('B')->setAutoSize(true);  

 

$objActSheet->getColumnDimension('A')->setWidth(30);  

 

   

 

 

   

 

//设置单元格内容的数字格式。  

 

//  

 

//如果使用了 PHPExcel_Writer_Excel5 来生成内容的话,  

 

//这里需要注意,在 PHPExcel_Style_NumberFormat 类的 const 变量定义的  

 

//各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode  

 

//为 FORMAT_NUMBER 的时候,实际出来的效果被没有把格式设置为"0"。需要  

 

//修改 PHPExcel_Writer_Excel5_Format 类源代码中的 getXf($style) 方法,  

 

//在 if ($this->_BIFF_version == 0x0500) { (第363行附近)前面增加一  

 

//行代码:  

 

//if($ifmt === '0') $ifmt = 1;  

 

//  

 

//设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字  

 

//被使用科学记数方式显示,配合下面的 setAutoSize 方法可以让每一行的内容  

 

//都按原始内容全部显示出来。  

   

 

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

 

//输出内容  

 

//  

 

   

 

//生成excel到文件  

//-----------------------------------

//$objWriter->save('./test.xls');  

//------------------------------------

   

 

//或者直接浏览器下载   (任选其一)

//------------------------------------

$outputFileName = "output.xls";

header("Content-Type:application/octet-stream;charset=utf-8");

header('Content-Disposition: attachment; filename=' . $outputFileName);

$objWriter->save('php://output');

//------------------------------------

 

   

 

?>  

ログイン後にコピー
ログイン後にコピー

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

<?php

require_once './Classes/PHPExcel.php';  

// 创建一个处理对象实例  

 

$objExcel = new PHPExcel();  

 

   

 

// 创建文件格式写入对象实例, uncomment  

 

$objWriter = new PHPExcel_Writer_Excel5($objExcel);     // 用于其他版本格式  

 

//设置文档基本属性  

 

$objProps = $objExcel->getProperties();  

 

$objProps->setCreator("Zeal Li");  

 

$objProps->setLastModifiedBy("Zeal Li");  

 

$objProps->setTitle("Office XLS Test Document");  

 

$objProps->setSubject("Office XLS Test Document, Demo");  

 

$objProps->setDescription("Test document, generated by PHPExcel.");  

 

$objProps->setKeywords("office excel PHPExcel");  

 

$objProps->setCategory("Test");  

 

   

 

 

$objExcel->setActiveSheetIndex(0);  

 

 

$objActSheet = $objExcel->getActiveSheet();  

 

   

 

//设置当前活动sheet的名称  

 

$objActSheet->setTitle('sheet1');  

 

   

 

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

 

//设置单元格内容  

 

//  

$arr = array(

    0 => array('id'=>'1','name'=>'zhangsan','pwd'=>'1223334343434343434343222'),

    1 => array('id'=>'2','name'=>'lisi','pwd'=>'xxx'),

    2 => array('id'=>'3','name'=>'wangwu','pwd'=>'122www33'),

    3 => array('id'=>'4','name'=>'liliu','pwd'=>'0000'),

 

);

//由PHPExcel根据传入内容自动判断单元格内容类型 

$nums = array('1' => 'A','2' => 'B',3=>'C','4'=>'D');

$i = 1;

foreach($arr as $k => $v){

    $j=1;

    foreach($v as $k1=>$v1){

        echo $v1;

        //

        $objActSheet->setCellValue($nums[$j] . $i, $v1);  //

        $j++;

    }

    $i++;

}

 

//合并单元格

//$objActSheet->mergeCells('A2:C2');

//$objStyleA1 = $objActSheet->getStyle('A2');

//设置居中

//$objStyleA1->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

//设置格式为字符串

//$objActSheet->setCellValueExplicit($nums[$j] . $i, ' '.$v1,PHPExcel_Cell_DataType::TYPE_STRING);  // 字符串内容 

//设置宽度  

 

$objActSheet->getColumnDimension('B')->setAutoSize(true);  

 

$objActSheet->getColumnDimension('A')->setWidth(30);  

 

//输出内容  

 

//  

 

$outputFileName = "output.xls";  

 

//到文件  

 

$objWriter->save('./test.xls');  

exit;

 

//或者直接浏览器下载   (任选其一)

//------------------------------------

$outputFileName = "output.xls";

header("Content-Type:application/octet-stream;charset=utf-8");

header('Content-Disposition: attachment; filename=' . $outputFileName);

$objWriter->save('php://output');

//------------------------------------

 

 

?>  

ログイン後にコピー
ログイン後にコピー

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

<?

require_once './Classes/PHPExcel.php';

 

// uncomment

////require_once 'PHPExcel/Writer/Excel5.php';    // 用于其他低版本xls

// or

////require_once 'PHPExcel/Writer/Excel2007.php'; // 用于 excel-2007 格式

 

// 创建一个处理对象实例

$objExcel = new PHPExcel();

 

// 创建文件格式写入对象实例, uncomment

$objWriter = new PHPExcel_Writer_Excel5($objExcel);    // 用于其他版本格式

// or

//$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式

//$objWriter->setOffice2003Compatibility(true);

 

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

//设置文档基本属性

$objProps = $objExcel->getProperties();

$objProps->setCreator("Zeal Li");

$objProps->setLastModifiedBy("Zeal Li");

$objProps->setTitle("Office XLS Test Document");

$objProps->setSubject("Office XLS Test Document, Demo");

$objProps->setDescription("Test document, generated by PHPExcel.");

$objProps->setKeywords("office excel PHPExcel");

$objProps->setCategory("Test");

 

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

//设置当前的sheet索引,用于后续的内容操作。

//一般只有在使用多个sheet的时候才需要显示调用。

//缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0

$objExcel->setActiveSheetIndex(0);

 

 

$objActSheet = $objExcel->getActiveSheet();

 

//设置当前活动sheet的名称

$objActSheet->setTitle('测试Sheet');

 

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

//设置单元格内容

//

//由PHPExcel根据传入内容自动判断单元格内容类型

$objActSheet->setCellValue('A1', '字符串内容');  // 字符串内容

$objActSheet->setCellValue('A2', 26);            // 数值

$objActSheet->setCellValue('A3', true);          // 布尔值

$objActSheet->setCellValue('A4', '=SUM(A2:A2)'); // 公式

 

//显式指定内容类型

$objActSheet->setCellValueExplicit('A5', '847475847857487584',

                                   PHPExcel_Cell_DataType::TYPE_STRING);

 

//合并单元格

$objActSheet->mergeCells('B1:C22');

 

//分离单元格

$objActSheet->unmergeCells('B1:C22');

 

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

//设置单元格样式

//

 

//设置宽度

$objActSheet->getColumnDimension('B')->setAutoSize(true);

$objActSheet->getColumnDimension('A')->setWidth(30);

 

$objStyleA5 = $objActSheet->getStyle('A5');

 

//设置单元格内容的数字格式。

//

//如果使用了 PHPExcel_Writer_Excel5 来生成内容的话,

//这里需要注意,在 PHPExcel_Style_NumberFormat 类的 const 变量定义的

//各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode

//为 FORMAT_NUMBER 的时候,实际出来的效果被没有把格式设置为"0"。需要

//修改 PHPExcel_Writer_Excel5_Format 类源代码中的 getXf($style) 方法,

//在 if ($this->_BIFF_version == 0x0500) { (第363行附近)前面增加一

//行代码:

//if($ifmt === '0') $ifmt = 1;

//

//设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字

//被使用科学记数方式显示,配合下面的 setAutoSize 方法可以让每一行的内容

//都按原始内容全部显示出来。

$objStyleA5

    ->getNumberFormat()

    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);

 

//设置字体

$objFontA5 = $objStyleA5->getFont();

$objFontA5->setName('Courier New');

$objFontA5->setSize(10);

$objFontA5->setBold(true);

$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);

$objFontA5->getColor()->setARGB('FF999999');

 

//设置对齐方式

$objAlignA5 = $objStyleA5->getAlignment();

$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);

$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

 

//设置边框

$objBorderA5 = $objStyleA5->getBorders();

$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

$objBorderA5->getTop()->getColor()->setARGB('FFFF0000'); // color

$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

 

//设置填充颜色

$objFillA5 = $objStyleA5->getFill();

$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);

$objFillA5->getStartColor()->setARGB('FFEEEEEE');

 

//从指定的单元格复制样式信息.

$objActSheet->duplicateStyle($objStyleA5, 'B1:C22');

 

 

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

//添加图片

/*

$objDrawing = new PHPExcel_Worksheet_Drawing();

$objDrawing->setName('ming');

$objDrawing->setDescription('Image inserted by Zeal');

$objDrawing->setPath('./com133.com.gif');

$objDrawing->setHeight(36);

$objDrawing->setCoordinates('C23');

$objDrawing->setOffsetX(10);

$objDrawing->setRotation(15);

$objDrawing->getShadow()->setVisible(true);

$objDrawing->getShadow()->setDirection(36);

$objDrawing->setWorksheet($objActSheet);

*/

 

//添加一个新的worksheet

$objExcel->createSheet();

$objExcel->getSheet(1)->setTitle('测试2');

 

//保护单元格

$objExcel->getSheet(1)->getProtection()->setSheet(true);

$objExcel->getSheet(1)->protectCells('A1:C22', 'PHPExcel');

 

 

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

//输出内容

 

//到文件

//$objWriter->save('./a.xls');

 

//exit;

//或者直接浏览器下载   (任选其一)

//------------------------------------

$outputFileName = "output.xls";

header("Content-Type:application/octet-stream;charset=utf-8");

header('Content-Disposition: attachment; filename=' . $outputFileName);

$objWriter->save('php://output');

//------------------------------------

 

?>

ログイン後にコピー
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles