Home Backend Development PHP Tutorial phpexcel Chinese tutorial

phpexcel Chinese tutorial

Apr 16, 2018 pm 01:36 PM
php phpexcel Chinese

The content of this article is about phpexcel Chinese tutorial, which has certain reference value. Now I share it with everyone. Friends in need can refer to it.

First go to the phpexcel official website to download the latest phpexcel class, next week unzip a classes folder, which contains PHPExcel.php and PHPExcel folders. This class file and folder are what we need. Unzip the classes into a directory in your project, with the same name. phpexcel, let’s get started, (the codes are all taken from the built-in examples)

Program part

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

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

402

403

404

405

406

407

408

409

410

411

412

413

414

415

416

417

418

419

420

421

422

423

424

425

426

427

428

429

430

431

432

433

434

435

436

437

438

439

440

441

442

443

444

445

446

447

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

463

464

465

466

467

468

469

470

471

472

473

474

475

476

477

478

479

480

481

482

483

484

485

require_once './phpexcel/PHPExcel.php';

  

// 首先创建一个新的对象  PHPExcel object

$objPHPExcel = new PHPExcel();

  

// 设置文件的一些属性,在xls文件——>属性——>详细信息里可以看到这些值,xml表格里是没有这些值的

$objPHPExcel

      ->getProperties()  //获得文件属性对象,给下文提供设置资源

      ->setCreator( "Maarten

 Balliauw")                 //设置文件的创建者

      ->setLastModifiedBy( "Maarten

 Balliauw")          //设置最后修改者

      ->setTitle( "Office 2007 XLSX Test Document" )    //设置标题

      ->setSubject( "Office 2007 XLSX Test Document" //设置主题

      ->setDescription( "Test

 document for Office 2007 XLSX, generated using PHP classes.") //设置备注

      ->setKeywords( "office

 2007 openxml php")        //设置标记

      ->setCategory( "Test

 result file");                //设置类别

// 位置aaa  *为下文代码位置提供锚

// 给表格添加数据

$objPHPExcel->setActiveSheetIndex(0)             //设置第一个内置表(一个xls文件里可以有多个表)为活动的

            ->setCellValue( 'A1', 'Hello' )         //给表的单元格设置数据

            ->setCellValue( 'B2', 'world!' )      //数据格式可以为字符串

            ->setCellValue( 'C1',

 12)            //数字型

            ->setCellValue( 'D2',

 12)            //

            ->setCellValue( 'D3', true )           //布尔型

            ->setCellValue( 'D4', '=SUM(C1:D2)' );//公式

  

//得到当前活动的表,注意下文教程中会经常用到$objActSheet

$objActSheet = $objPHPExcel->getActiveSheet();

// 位置bbb  *为下文代码位置提供锚

// 给当前活动的表设置名称

$objActSheet->setTitle('Simple2222');

代码还没有结束,可以复制下面的代码来决定我们将要做什么

  

我们将要做的是

1,直接生成一个文件

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

$objWriter->save('myexchel.xlsx');

  

2、提示下载文件

excel 2003 .xls

// 生成2003excel格式的xls文件

header('Content-Type:

 application/vnd.ms-excel');

header('Content-Disposition:

 attachment;filename="01simple.xls"');

header('Cache-Control:

 max-age=0');

  

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

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

exit;

  

excel 2007 .xlsx

// 生成2007excel格式的xlsx文件

header('Content-Type:

 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

header('Content-Disposition:

 attachment;filename="01simple.xlsx"');

header('Cache-Control:

 max-age=0');

  

$objWriter =

 PHPExcel_IOFactory:: createWriter($objPHPExcel, 'Excel2007');

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

exit;

  

pdf 文件

// 下载一个pdf文件

header('Content-Type:

 application/pdf');

header('Content-Disposition:

 attachment;filename="01simple.pdf"');

header('Cache-Control:

 max-age=0');

  

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');

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

exit;

// 生成一个pdf文件

$objWriter

 = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');

$objWriter->save('a.pdf');

  

  

CSV 文件

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV')->setDelimiter(',' )

  //设置分隔符

                                                                  ->setEnclosure('"' )

    //设置包围符

                                                                  ->setLineEnding("\r\n" )//设置行分隔符

                                                                  ->setSheetIndex(0)      //设置活动表

                                                                  ->save(str_replace('.php' , '.csv' ,

 __FILE__));

  

HTML 文件

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'HTML');       //将$objPHPEcel对象转换成html格式的

$objWriter->setSheetIndex(0);  //设置活动表

//$objWriter->setImagesRoot('http://www.example.com');

$objWriter->save(str_replace('.php', '.htm',

 __FILE__));     //保存文件

  

  

  

  

设置表格样式和数据格式

设置默认的字体和文字大小     锚:aaa

$objPHPExcel->getDefaultStyle()->getFont()->setName( 'Arial');

$objPHPExcel->getDefaultStyle()->getFont()->setSize(20);

  

日期格式      锚:bbb

//获得秒值变量

$dateTimeNow = time();

//三个表格分别设置为当前实际的 日期格式、时间格式、日期和时间格式

//首先将单元格的值设置为由PHPExcel_Shared_Date::PHPToExcel方法转换后的excel格式的值,然后用过得到该单元格的样式里面数字样式再设置显示格式

$objActSheet->setCellValue( 'C9',

 PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow ));

$objActSheet->getStyle( 'C9')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2);

$objActSheet->setCellValue( 'C10',

 PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow ));

$objActSheet->getStyle( 'C10')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4);

$objActSheet->setCellValue( 'C10',

 PHPExcel_Shared_Date::PHPToExcel( $dateTimeNow ));

$objActSheet->getStyle( 'C10')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4);

//将E4到E13的数字格式设置为EUR

$objPHPExcel->getActiveSheet()->getStyle( 'E4:E13')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);

  

设置列的宽度      锚:bbb

$objActSheet->getColumnDimension( 'B')->setAutoSize(true);   //内容自适应

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

  

设置文件打印的页眉和页脚      锚:bbb

//设置打印时候的页眉页脚(设置完了以后可以通过打印预览来看效果)字符串中的&*好像是一些变量

$objActSheet->getHeaderFooter()->setOddHeader( '&L&G&C&HPlease

 treat this document as confidential!');

$objActSheet->getHeaderFooter()->setOddFooter( '&L&B' .

 $objPHPExcel->getProperties()->getTitle() . '&RPage &P of &N' );

设置页面文字的方向和页面大小    锚:bbb

$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup:: ORIENTATION_LANDSCAPE);

$objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(PHPExcel_Worksheet_PageSetup:: PAPERSIZE_A4);

     //A4纸大小

  

为页眉添加图片     office中有效

 wps中无效  锚:bbb

$objDrawing = new PHPExcel_Worksheet_HeaderFooterDrawing();

$objDrawing->setName('PHPExcel

 logo');

$objDrawing->setPath('./images/phpexcel_logo.gif');

$objDrawing->setHeight(36);

$objPHPExcel->getActiveSheet()->getHeaderFooter()->addImage($objDrawing, PHPExcel_Worksheet_HeaderFooter::IMAGE_HEADER_LEFT );

  

设置单元格的批注    锚:bbb

//给单元格添加批注

$objPHPExcel->getActiveSheet()->getComment( 'E13')->setAuthor('PHPExcel' );     //设置作者

$objCommentRichText = $objPHPExcel->getActiveSheet()->getComment('E13' )->getText()->createTextRun('PHPExcel:');  //添加批注

$objCommentRichText->getFont()->setBold( true);  //将现有批注加粗

$objPHPExcel->getActiveSheet()->getComment( 'E13')->getText()->createTextRun("\r\n" );      //添加更多批注

$objPHPExcel->getActiveSheet()->getComment( 'E13')->getText()->createTextRun('Total

 amount on the current invoice, including VAT.' );

$objPHPExcel->getActiveSheet()->getComment( 'E13')->setWidth('100pt' );      //设置批注显示的宽高

 ,在office中有效在wps中无效

$objPHPExcel->getActiveSheet()->getComment( 'E13')->setHeight('100pt' );

$objPHPExcel->getActiveSheet()->getComment( 'E13')->setMarginLeft('150pt' );

$objPHPExcel->getActiveSheet()->getComment( 'E13')->getFillColor()->setRGB('EEEEEE' );      //设置背景色

 ,在office中有效在wps中无效

  

添加文字块    看效果图 office中有效

 wps中无效  锚:bbb

//大概翻译  创建一个富文本框  office有效  wps无效

$objRichText = new PHPExcel_RichText();

$objRichText->createText('This

 invoice is ');    //写文字

//添加文字并设置这段文字粗体斜体和文字颜色

$objPayable = $objRichText->createTextRun( 'payable

 within thirty days after the end of the month');

$objPayable->getFont()->setBold( true);

$objPayable->getFont()->setItalic( true);

$objPayable->getFont()->setColor( new PHPExcel_Style_Color(

 PHPExcel_Style_Color::COLOR_DARKGREEN )

 );

$objRichText->createText(',

 unless specified otherwise on the invoice.');

//将文字写到A18单元格中

$objPHPExcel->getActiveSheet()->getCell( 'A18')->setValue($objRichText);

  

合并拆分单元格    锚:bbb

$objPHPExcel->getActiveSheet()->mergeCells( 'A28:B28');      //

 A28:B28合并

$objPHPExcel->getActiveSheet()->unmergeCells( 'A28:B28');    //

 A28:B28再拆分

  

单元格密码保护    锚:bbb

// 单元格密码保护不让修改

$objPHPExcel->getActiveSheet()->getProtection()->setSheet( true);  //

 为了使任何表保护,需设置为真

$objPHPExcel->getActiveSheet()->protectCells( 'A3:E13', 'PHPExcel' ); //

 将A3到E13保护 加密密码是 PHPExcel

$objPHPExcel->getActiveSheet()->getStyle( 'B1')->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED); //去掉保护

  

设置单元格字体   锚:bbb

//将B1的文字字体设置为Candara,20号的粗体下划线有背景色

$objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setName('Candara' );

$objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setSize(20);

$objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setBold(true);

$objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);

$objPHPExcel->getActiveSheet()->getStyle( 'B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);

  

文字对齐方式  锚:bbb

$objPHPExcel->getActiveSheet()->getStyle( 'D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);    //水平方向上对齐

$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);//水平方向上两端对齐

$objPHPExcel->getActiveSheet()->getStyle( 'A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);       //垂直方向上中间居中

  

设置单元格边框  锚:bbb

$styleThinBlackBorderOutline = array(

       'borders' => array (

             'outline' => array (

                   'style' =>

 PHPExcel_Style_Border::BORDER_THIN,   //设置border样式

                   //'style' =>

 PHPExcel_Style_Border::BORDER_THICK,  另一种样式

                   'color' => array ('argb' => 'FF000000'),

          //设置border颜色

            ),

      ),

);

$objPHPExcel->getActiveSheet()->getStyle( 'A4:E10')->applyFromArray($styleThinBlackBorderOutline);

  

背景填充颜色     锚:bbb

//设置填充的样式和背景色

$objPHPExcel->getActiveSheet()->getStyle( 'A1:E1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);

$objPHPExcel->getActiveSheet()->getStyle( 'A1:E1')->getFill()->getStartColor()->setARGB('FF808080');

  

综合设置样例

$objPHPExcel->getActiveSheet()->getStyle( 'A3:E3')->applyFromArray(

             array(

                   'font'    => array (

                         'bold'      => true

                   ),

                   'alignment' => array (

                         'horizontal' =>

 PHPExcel_Style_Alignment::HORIZONTAL_RIGHT ,

                  ),

                   'borders' => array (

                         'top'     => array (

                               'style' =>

 PHPExcel_Style_Border::BORDER_THIN

                        )

                  ),

                   'fill' => array (

                         'type'       =>

 PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR ,

                         'rotation'   =>

 90,

                         'startcolor' => array (

                               'argb' => 'FFA0A0A0'

                         ),

                         'endcolor'   => array (

                               'argb' => 'FFFFFFFF'

                         )

                  )

            )

);

  

  

给单元格内容设置url超链接      锚:bbb

$objActSheet->getCell('E26')->getHyperlink()->setUrl( 'http://www.phpexcel.net');    //超链接url地址

$objActSheet->getCell('E26')->getHyperlink()->setTooltip( 'Navigate

 to website');  //鼠标移上去连接提示信息

  

给表中添加图片     锚:bbb

$objDrawing = new PHPExcel_Worksheet_Drawing();

$objDrawing->setName('Paid');

$objDrawing->setDescription('Paid');

$objDrawing->setPath('./images/paid.png'); //图片引入位置

$objDrawing->setCoordinates('B15'); //图片添加位置

$objDrawing->setOffsetX(210);

$objDrawing->setRotation(25);

$objDrawing->setHeight(36);

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

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

$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());

//还可以添加有gd库生产的图片,详细见自带实例25

  

创建一个新工作表和设置工作表标签颜色     锚:bbb

$objExcel->createSheet();

$objPHPExcel->setActiveSheetIndex(1);

   //设置第2个表为活动表,提供操作句柄

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

   //直接得到第二个表进行设置,将工作表重新命名为测试2

$objPHPExcel->getActiveSheet()->getTabColor()->setARGB( 'FF0094FF');

     //设置标签颜色

  

添加或删除行和列     锚:bbb

$objPHPExcel->getActiveSheet()->insertNewRowBefore(6,

 10);   //在行6前添加10行

$objPHPExcel->getActiveSheet()->removeRow(6, 10);                  //从第6行往后删去10行

$objPHPExcel->getActiveSheet()->insertNewColumnBefore( 'E',

 5);    //从第E列前添加5类

$objPHPExcel->getActiveSheet()->removeColumn( 'E',

 5);             //从E列开始往后删去5列

  

隐藏和显示某列     锚:bbb

$objPHPExcel->getActiveSheet()->getColumnDimension( 'C')->setVisible(false);          //隐藏

$objPHPExcel->getActiveSheet()->getColumnDimension( 'D')->setVisible(true);           //显示

  

重新命名活动的表的标签名称     锚:bbb

$objPHPExcel->getActiveSheet()->setTitle( 'Invoice');

  

设置工作表的安全

$objPHPExcel->getActiveSheet()->getProtection()->setPassword( 'PHPExcel');

$objPHPExcel->getActiveSheet()->getProtection()->setSheet( true); //

 This should be enabled in order to enable any of the following!

$objPHPExcel->getActiveSheet()->getProtection()->setSort( true);

$objPHPExcel->getActiveSheet()->getProtection()->setInsertRows( true);

$objPHPExcel->getActiveSheet()->getProtection()->setFormatCells( true);

  

设置文档安全   锚:bbb

$objPHPExcel->getSecurity()->setLockWindows( true);

$objPHPExcel->getSecurity()->setLockStructure( true);

$objPHPExcel->getSecurity()->setWorkbookPassword( "PHPExcel");     //设置密码

  

样式复制      锚:bbb

//将B2的样式复制到B3至B7

$objPHPExcel->getActiveSheet()->duplicateConditionalStyle(

                        $objPHPExcel->getActiveSheet()->getStyle( 'B2')->getConditionalStyles(),

                         'B3:B7'

                   );

  

Add conditional formatting    锚:bbb

echo date('H:i:s' )

 , " Add conditional formatting" ,

 PHP_EOL;

$objConditional1 = new PHPExcel_Style_Conditional ();

$objConditional1->setConditionType(PHPExcel_Style_Conditional ::CONDITION_CELLIS );

$objConditional1->setOperatorType(PHPExcel_Style_Conditional ::OPERATOR_BETWEEN );

$objConditional1->addCondition('200');

$objConditional1->addCondition('400');

  

设置分页(主要用于打印)    锚:bbb

//设置某单元格为页尾

$objPHPExcel->getActiveSheet()->setBreak( 'A' .

 $i, PHPExcel_Worksheet::BREAK_ROW );

  

  

用数组填充表    锚:bbb

//吧数组的内容从A2开始填充

$dataArray = array( array("2010" ,    "Q1",  "United

 States",  790),

                   array("2010" ,    "Q2",  "United

 States",  730),

                  );

$objPHPExcel->getActiveSheet()->fromArray($dataArray, NULL, 'A2');

  

设置自动筛选     锚:bbb

$objPHPExcel->getActiveSheet()->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension());

//$objPHPExcel->getActiveSheet()->calculateWorksheetDimension()....得到A1行的所有内容个

  

打印出的到所有的公式

$objCalc = PHPExcel_Calculation::getInstance();

print_r($objCalc->listFunctionNames())

  

设置单元格值的范围     锚:bbb

$objValidation = $objPHPExcel->getActiveSheet()->getCell('B3' )->getDataValidation();

$objValidation->setType( PHPExcel_Cell_DataValidation:: TYPE_WHOLE );

$objValidation->setErrorStyle( PHPExcel_Cell_DataValidation:: STYLE_STOP );

$objValidation->setAllowBlank(true);

$objValidation->setShowInputMessage( true);            //设置显示提示信息

$objValidation->setShowErrorMessage( true);            //设置显示错误信息

$objValidation->setErrorTitle('Input

 error');    //错误标题

//$objValidation->setShowDropDown(true);

$objValidation->setError('Only

 numbers between 10 and 20 are allowed!');       //错误内容

$objValidation->setPromptTitle('Allowed

 input');       //设置提示标题

$objValidation->setPrompt('Only

 numbers between 10 and 20 are allowed.'); //提示内容

$objValidation->setFormula1(10);     //设置最大值

$objValidation->setFormula2(120);    //设置最小值

//或者这样设置  $objValidation->setFormula2(1,5,6,7);  设置值是1,5,6,7中的一个数

  

其他

$objPHPExcel->getActiveSheet()->getStyle( 'B5')->getAlignment()->setShrinkToFit(true); //长度不够显示的时候

 是否自动换行

$objPHPExcel->getActiveSheet()->getStyle( 'B5')->getAlignment()->setShrinkToFit(true); //自动转换显示字体大小,使内容能够显示

$objPHPExcel->getActiveSheet()->getCell(B14)->getValue();           //获得值,有可能得到的是公式

$objPHPExcel->getActiveSheet()->getCell(B14)->getCalculatedValue();//获得算出的值

  

  

导入或读取文件

//通过PHPExcel_IOFactory::load方法来载入一个文件,load会自动判断文件的后缀名来导入相应的处理类,读取格式保含xlsx/xls/xlsm/ods/slk/csv/xml/gnumeric

require_once '../Classes/PHPExcel/IOFactory.php';

$objPHPExcel = PHPExcel_IOFactory::load(

//吧载入的文件默认表(一般都是第一个)通过toArray方法来返回一个多维数组

$dataArray = $objPHPExcel->getActiveSheet()->toArray();

//读完直接写到一个xlsx文件里

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); //$objPHPExcel是上文中读的资源

$objWriter->save(str_replace('.php', '.xlsx',

 __FILE__));

  

读取xml文件

$objReader = PHPExcel_IOFactory:: createReader('Excel2003XML' );

$objPHPExcel = $objReader->load( "Excel2003XMLTest.xml" );

读取ods文件

$objReader = PHPExcel_IOFactory:: createReader('OOCalc' );

$objPHPExcel = $objReader->load("OOCalcTest.ods" );

读取numeric文件

$objReader = PHPExcel_IOFactory:: createReader('Gnumeric' );

$objPHPExcel = $objReader->load( "GnumericTest.gnumeric" );

读取slk文件

$objPHPExcel = PHPExcel_IOFactory:: load("SylkTest.slk" );

  

  

循环遍历数据

$objReader = PHPExcel_IOFactory::createReader('Excel2007' ); //创建一个2007的读取对象

$objPHPExcel = $objReader->load ("05featuredemo.xlsx" );             //读取一个xlsx文件

foreach ($objPHPExcel->getWorksheetIterator() as $worksheet)

 {     //遍历工作表

       echo 'Worksheet

 - ' , $worksheet->getTitle() , PHP_EOL;

       foreach ($worksheet->getRowIterator() as $row)

 {       //遍历行

             echo '    Row

 number - ' , $row->getRowIndex() , PHP_EOL;

            $cellIterator = $row->getCellIterator();   //得到所有列

            $cellIterator->setIterateOnlyExistingCells( false); //

 Loop all cells, even if it is not set

             foreach ($cellIterator as $cell)

 //遍历列

                   if (!is_null($cell))

 //如果列不给空就得到它的坐标和计算的值

                         echo '        Cell

 - ' , $cell->getCoordinate() , '

 - ' , $cell->getCalculatedValue() , PHP_EOL;

                  }

            }

      }

}

  

数组插入的表中

//插入的数据 3行数据

$data = array( array('title'      => 'Excel

 for dummies',

                     'price'      =>

 17.99,

                     'quantity'

   => 2

                           ),

                    array('title'       => 'PHP

 for dummies',

                           'price'

      => 15.99,

                           'quantity'  =>

 1

                           ),

                    array('title'      => 'Inside

 OOP',

                           'price'

      => 12.95,

                           'quantity'  =>

 1

                           )

                   );

$baseRow = 5;      //指定插入到第5行后

foreach($data as $r

 => $dataRow) {

      $row = $baseRow + $r;    //$row是循环操作行的行号

      $objPHPExcel->getActiveSheet()->insertNewRowBefore($row,1);  //在操作行的号前加一空行,这空行的行号就变成了当前的行号

       //对应的咧都附上数据和编号

      $objPHPExcel->getActiveSheet()->setCellValue( 'A'.$row,

 $r+1);    

      $objPHPExcel->getActiveSheet()->setCellValue( 'B'.$row,

 $dataRow['title']);

      $objPHPExcel->getActiveSheet()->setCellValue( 'C'.$row,

 $dataRow['price']);

      $objPHPExcel->getActiveSheet()->setCellValue( 'D'.$row,

 $dataRow['quantity']);

      $objPHPExcel->getActiveSheet()->setCellValue( 'E'.$row, '=C'.$row.'*D' .$row);

}

$objPHPExcel->getActiveSheet()->removeRow($baseRow-1,1);     //最后删去第4行,这是示例需要,在此处为大家提供删除实例

Copy after login

Related recommendations:

PHP wrote a batch Excel import shipment, record

The above is the detailed content of phpexcel Chinese tutorial. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1662
14
PHP Tutorial
1261
29
C# Tutorial
1234
24
How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

PHP and Python: Comparing Two Popular Programming Languages PHP and Python: Comparing Two Popular Programming Languages Apr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP in Action: Real-World Examples and Applications PHP in Action: Real-World Examples and Applications Apr 14, 2025 am 12:19 AM

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

See all articles