phpexcel默認行高,exce表格怎麼設置行高

本文目錄一覽:

phpexcel 怎麼根據字符串長度設置單元格的寬度

1、判斷一個單元格內的字符串長度用Len函數,用法如下:

s

=

Len(Range(“A1”).Text)

這裡的s就表示字符串有多少個字符組成的。

2、判斷選中的單元格是由幾個小格子組成的可以這樣:

比如:

Sub

yy()

[h6:k8].Merge

‘將h6:k8區域合併單元格

[h6].Select

‘選中H6:k8這個合併單元格

MsgBox

Selection.Count

‘通過Selection.Count這個命令就可以得到選中的這個區域的單元格數目End

Sub3、讓單元格自動調整行高,用AutoFit,自動適應方法,用法如下:

Sub

xx()

Range(“A1:F6”).Rows.AutoFitEnd

Sub這樣就可以自動調整行高了!

thinkphp 導出excel 怎麼合併單元格

PHPexcel導出_帶合併單元格/邊框背景/_有效果圖_thinkphp

##供稿單位導出

public function gonggao_excel(){

$color=’0xCC000000′;

//查詢所有供稿單位

$order=’paixu asc,id desc’;

$where=array(‘token’=$this-token,’status’=’1’);

$data=M(‘gonggao’)-where($where)-order($order)-select();

//增加供稿單位的文章數量

foreach ($data as $key = $value) {

$data[$key][‘shuliang’]=M(‘img’)-where(array(‘gonggaoid’=$value[‘id’]))-count();

$data[$key][‘title’]=M(‘img’)-where(array(‘gonggaoid’=$value[‘id’]))-getfield(‘title’,true);

}

// //查詢出所有行數

// $all_count=0;

// foreach ($data as $key = $value) {

// if(!empty($value[‘title’])){

// $all_count=$all_count+count($value[‘title’]);

// }else{

// $all_count++;

// }

//重組數組

foreach ($data as $key = $value) {

if(!empty($value[‘title’])){

foreach ($value[‘title’] as $k = $v) {

$newData[]=$v;

}

}else{

$newData[]=”;

}

}

//dump($newData);

//dump($data);

//die;

// 引用phpexcel類

import(‘Lib/ORG/PHPExcel’);

// 創建對象

$objPHPExcel = new PHPExcel();

// 顯示錯誤信息

error_reporting(E_ALL);

// Set properties

$objPHPExcel-getProperties()-setCreator(“趙英傑”)

-setLastModifiedBy(“趙英傑”)

-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”);

// 設置寬度

$objPHPExcel-getActiveSheet()-getColumnDimension(‘A’)-setWidth(10);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘B’)-setWidth(40);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘C’)-setWidth(15);

$objPHPExcel-getActiveSheet()-getColumnDimension(‘D’)-setWidth(60);

// 設置行高度

$objPHPExcel-getActiveSheet()-getDefaultRowDimension()-setRowHeight(20); //設置默認行高

$objPHPExcel-getActiveSheet()-getRowDimension(‘1’)-setRowHeight(30); //第一行行高

$objPHPExcel-getActiveSheet()-getRowDimension(‘2’)-setRowHeight(20); //第二行行高

// 字體和樣式

$objPHPExcel-getActiveSheet()-getDefaultStyle()-getFont()-setSize(12); //字體大小

$objPHPExcel-getActiveSheet()-getStyle(‘A2:D2’)-getFont()-setBold(false); //第二行是否加粗

$objPHPExcel-getActiveSheet()-getStyle(‘A1’)-getFont()-setBold(true); //第一行是否加粗

$objPHPExcel-getActiveSheet()-getStyle(‘A1’)-getFont()-setSize(16); //第一行字體大小

// 設置垂直居中

$objPHPExcel-getActiveSheet()-getStyle(‘A1’)-getAlignment()-setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

$objPHPExcel-getActiveSheet()-getStyle(‘A2:D2’)-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

//邊框樣式

$styleArray = array(

‘borders’ = array(

‘allborders’ = array(

//’style’ = PHPExcel_Style_Border::BORDER_THICK,//邊框是粗的

‘style’ = PHPExcel_Style_Border::BORDER_THIN,//細邊框

‘color’ = array(‘argb’ = $color),

),

),

);

$objPHPExcel-getActiveSheet()-getStyle(‘A2:D2’)-applyFromArray($styleArray);

//邊框

//$objPHPExcel-getActiveSheet()-getStyle(‘A2:D2’)-getBorders()-getAllBorders()-setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

// 設置水平居中

$objPHPExcel-getActiveSheet()-getStyle(‘A1’)-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel-getActiveSheet()-getStyle(‘A’)-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel-getActiveSheet()-getStyle(‘B’)-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel-getActiveSheet()-getStyle(‘C’)-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel-getActiveSheet()-getStyle(‘D’)-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

// 合併

$objPHPExcel-getActiveSheet()-mergeCells(‘A1:D1’);

// 表頭

$objPHPExcel-setActiveSheetIndex(0)

-setCellValue(‘A1’, ‘供稿單位文章統計’)

-setCellValue(‘A2’, ‘編號’)

-setCellValue(‘B2’, ‘供稿單位’)

-setCellValue(‘C2’, ‘文章數量’)

-setCellValue(‘D2’, ‘文章名稱’);

// 內容

// for ($i = 0, $len = count($data); $i $len; $i++) {

// $objPHPExcel-getActiveSheet(0)-setCellValue(‘A’ . ($i + 3), $i);

// $objPHPExcel-getActiveSheet(0)-setCellValue(‘B’ . ($i + 3), $data[$i][‘gonggao’]);

// $objPHPExcel-getActiveSheet(0)-setCellValue(‘C’ . ($i + 3), $data[$i][‘shuliang’]);

// $objPHPExcel-getActiveSheet(0)-setCellValue(‘D’ . ($i + 3), $data[$i][‘status’]);

// $objPHPExcel-getActiveSheet()-getStyle(‘A’ . ($i + 3) . ‘:D’ . ($i + 3))-getAlignment()-setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

// $objPHPExcel-getActiveSheet()-getStyle(‘A’ . ($i + 3) . ‘:D’ . ($i + 3))-getBorders()-getAllBorders()-setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

// $objPHPExcel-getActiveSheet()-getRowDimension($i + 3)-setRowHeight(16);

// }

//重構內容-文章名稱錄入

for ($i = 0, $len = count($newData); $i $len; $i++) {

$objPHPExcel-getActiveSheet(0)-setCellValue(‘D’ . ($i + 3), $newData[$i]);

$objPHPExcel-getActiveSheet()-getStyle(‘A’ . ($i + 3) . ‘:D’ . ($i + 3))-getAlignment()-setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

//左對齊

$objPHPExcel-getActiveSheet()-getStyle(‘D’)-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);

//邊框設置

//$objPHPExcel-getActiveSheet()-getStyle(‘A’ . ($i + 3) . ‘:D’ . ($i + 3))-getBorders()-getAllBorders()-setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

// $objPHPExcel-getActiveSheet()-getRowDimension($i + 3)-setRowHeight(16); //重構行高

$objPHPExcel-getActiveSheet()-getStyle(‘A’ . ($i + 3) . ‘:D’ . ($i + 3))-applyFromArray($styleArray);

}

// //查詢出所有行數

// $all_count=0;

// foreach ($data as $key = $value) {

// if(!empty($value[‘title’])){

// $all_count=$all_count+count($value[‘title’]);

// }else{

// $all_count++;

// }

//合併對應單元格並錄入編號/供稿單位/數量。

$ii=3;//從第三行開始的

for ($i = 0, $len = count($data); $i $len; $i++) {

if(count($data[$i][‘title’])0){

//合併 注意-1,因為當前單位有內容且是第一篇

$objPHPExcel-getActiveSheet()-mergeCells(‘A’ . ($ii) . ‘:A’ . ($ii-1+count($data[$i][‘title’]) ));

$objPHPExcel-getActiveSheet()-mergeCells(‘B’ . ($ii) . ‘:B’ . ($ii-1+count($data[$i][‘title’]) ));

$objPHPExcel-getActiveSheet()-mergeCells(‘C’ . ($ii) . ‘:C’ . ($ii-1+count($data[$i][‘title’]) ));

//錄入記錄

$objPHPExcel-getActiveSheet(0)-setCellValue(‘A’ . ($ii), $i+1);

$objPHPExcel-getActiveSheet(0)-setCellValue(‘B’ . ($ii), $data[$i][‘gonggao’]);

$objPHPExcel-getActiveSheet(0)-setCellValue(‘C’ . ($ii), count($data[$i][‘title’]));

//居中

$objPHPExcel-getActiveSheet()-getStyle(‘A’ . ($ii))-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel-getActiveSheet()-getStyle(‘B’ . ($ii))-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel-getActiveSheet()-getStyle(‘C’ . ($ii))-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$ii=$ii-1+count($data[$i][‘title’]);

$ii++;

}else{

//錄入記錄

$objPHPExcel-getActiveSheet(0)-setCellValue(‘A’ . ($ii), $i+1);

$objPHPExcel-getActiveSheet(0)-setCellValue(‘B’ . ($ii), $data[$i][‘gonggao’]);

$objPHPExcel-getActiveSheet(0)-setCellValue(‘C’ . ($ii), count($data[$i][‘title’]));

//居中

$objPHPExcel-getActiveSheet()-getStyle(‘A’ . ($ii))-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel-getActiveSheet()-getStyle(‘B’ . ($ii))-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel-getActiveSheet()-getStyle(‘C’ . ($ii))-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$ii++;

}

}

// Rename sheet

$objPHPExcel-getActiveSheet()-setTitle(‘供稿單位文章統計’);

// Set active sheet index to the first sheet, so Excel opens this as the first sheet

$objPHPExcel-setActiveSheetIndex(0);

// 輸出

header(‘Content-Type: application/vnd.ms-excel’);

header(‘Content-Disposition: attachment;filename=”‘ . ‘供稿單位’ . ‘.xls”‘);

header(‘Cache-Control: max-age=0’);

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

$objWriter-save(‘php://output’);

exit;

}

thinkphp PHPexcel 例子

Vendor(“PHPExcel.PHPExcel”);

$obj   = new PHPExcel();

        $obj-getProperties()-setCreator(“JAMES”)

                             -setLastModifiedBy(“JAMES”)

                             -setTitle(“zltrans”)

                             -setSubject(“Dorder”)

                             -setDescription(“Dorder List”)

                             -setKeywords(“Dorder”)

                             -setCategory(“Test result file”);

        $obj-getDefaultStyle()-getAlignment()-setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

        $obj-getDefaultStyle()-getAlignment()-setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

        //相關行高

        $obj-getActiveSheet()-getRowDimension(‘1’)-setRowHeight(40);

        $obj-getActiveSheet()-getRowDimension(‘2’)-setRowHeight(23);

        $obj-getActiveSheet()-getRowDimension(‘3’)-setRowHeight(24);

        //標題

        $obj-getActiveSheet()-mergeCells(‘A1:’.$arr[$len-1].”1″);

        $obj-getActiveSheet()-getStyle(‘A1’)-getFont()-setSize(14);

        $obj-getActiveSheet()-getStyle(‘A1’)-getFont()-setBold(true);

        //寫入相關值

        $obj-getActiveSheet()-setCellValue(“A1″,”門票日報表”);

        

        //導入

        Vendor(“PHPExcel.PHPExcel.IOFactory”);

        $file_name = “s1”;

        header(‘Content-Type: application/vnd.ms-excel’);

        header(‘Content-Disposition: attachment;filename=”‘.$file_name .’.xls”‘);

        header(‘Cache-Control: max-age=0’);

        $objWriter = PHPExcel_IOFactory::createWriter($obj, ‘Excel5’);

        $objWriter-save(‘php://output’);

導出數據超出EXCEL行列本身限制時如何解決!!!

1、//導入PHPExcel類庫,因為PHPExcel沒有用命名空間,只能inport導入

import(“Org.Util.PHPExcel”);

import(“Org.Util.PHPExcel.Writer.Excel5”);

import(“Org.Util.PHPExcel.IOFactory.php”);

$date = date(“Y_m_d”,time());

$fileName .= “_{$date}.xls”;

2、 //創建PHPExcel對象,注意,不能少了\

$objPHPExcel = new \PHPExcel();

$objProps = $objPHPExcel-getProperties();

3、//設置表頭

$key = 0;

4、 //print_r($headArr);exit;

foreach($headArr as $v){

5、//注意,不能少了。將列數字轉換為字母\

$colum = \PHPExcel_Cell::stringFromColumnIndex($key);

$objPHPExcel-setActiveSheetIndex(0) -setCellValue($colum.’1′, $v);

$key += 1; }

$column = 2;

$objActSheet = $objPHPExcel-getActiveSheet();

foreach($data as $key = $rows){ //行寫入 $span = 0;

foreach($rows as $keyName=$value){// 列寫入

$j = \PHPExcel_Cell::stringFromColumnIndex($span);

$objActSheet-setCellValue($j.$column, $value);

$span++; }

$column++; }

$fileName = iconv(“utf-8”, “gb2312”, $fileName);

7、//重命名表

$objPHPExcel-getActiveSheet()-setTitle($date);

8、//設置字體大小

$objPHPExcel-getDefaultStyle()-getFont()-setSize(14);

9、 //設置單元格寬度

$objPHPExcel-getActiveSheet()-getColumnDimension(‘A’)-setWidth(15);

10、 //設置默認行高

$objPHPExcel-getActiveSheet()-getDefaultRowDimension()-setRowHeight(23);

11、//設置活動單指數到第一個表,所以Excel打開這是第一個表

$objPHPExcel-setActiveSheetIndex(0);

header(‘Content-Type: application/vnd.ms-excel’);

header(“Content-Disposition: attachment;filename=\”$fileName\””);

header(‘Cache-Control: max-age=0’);

$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5’);

$objWriter-save(‘php://output’); //文件通過瀏覽器下載exit;}

phpExcel怎麼設置單元格寬度

/設置寬度      

$objActSheet-getColumnDimension(‘B’)-setAutoSize(true);      

$objActSheet-getColumnDimension(‘A’)-setWidth(30);

關於phpexcel讀取excel表的問題,如下

?

$sheet_i = 2;//行

$sheet_j = 1;//列

for($currentRow = 2;$currentRow = $allRow;$currentRow++){

/**從第A列開始輸出*/

for($currentColumn= ‘A’;$currentColumn= $allColumn; $currentColumn++){

$val = $currentSheet-getCellByColumnAndRow(ord($currentColumn) – 65,$currentRow)-getValue();/**ord()將字符轉為十進制數*/

if($sheet_i = 2$sheet_j = 1)//自己算好輸出第幾行第幾列

{

if($currentColumn == ‘A’)

{

echo GetData($val).”\t”;

}else{

//echo $val;

/**如果輸出漢字有亂碼,則需將輸出內容用iconv函數進行編碼轉換,如下將gb2312編碼轉為utf-8編碼輸出*/

echo iconv(‘utf-8′,’gb2312’, $val).”\t”;

}

}

$sheet_j ++;

}

$sheet_i++;

$sheet_j = 0;//重置列數

echo “/br”;

}

echo “\n”;

?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/195839.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-02 20:37
下一篇 2024-12-02 20:37

相關推薦

  • 使用Treeview顯示錶格

    在web開發中,顯示錶格數據是一項很常見的需求。當我們需要在頁面上顯示大量數據時,除了使用傳統的表格樣式外,還可以使用Treeview這種可摺疊的表格樣式,以便更好地展示數據。本文…

    編程 2025-04-29
  • Python根據表格數據生成折線圖

    本文將介紹如何使用Python根據表格數據生成折線圖。折線圖是一種常見的數據可視化圖表形式,可以用來展示數據的趨勢和變化。Python是一種流行的編程語言,其強大的數據分析和可視化…

    編程 2025-04-29
  • Python 圖片轉表格

    本文將詳細介紹如何使用Python將圖片轉為表格。大家平時在處理一些資料的時候難免會遇到圖片轉表格的需求。比如從PDF文檔中提取表格等場景。當然,這個功能也可以通過手動複製、粘貼,…

    編程 2025-04-29
  • python爬取網頁並生成表格

    本文將從以下幾個方面詳細介紹如何使用Python爬取網頁數據並生成表格: 一、獲取網頁數據 獲取網頁數據的一般思路是通過HTTP請求獲取網頁內容,最常用的方式是使用Python庫r…

    編程 2025-04-28
  • Python如何做表格為中心

    本文將從多個方面詳細闡述Python如何做表格,包括表格的創建、數據的插入、表格的樣式設置等內容。 一、創建表格 要在Python中創建表格,我們可以使用第三方庫Pandas。具體…

    編程 2025-04-28
  • 52周存錢法表格圖100元

    52周存錢法是一種有效的儲蓄方法,它能夠幫助人們規律性地儲蓄並實現財務目標。針對這種儲蓄方法,我們可以使用表格來更加直觀地記錄儲蓄進度,並且可以通過代碼實現,給用戶提供更加便捷的服…

    編程 2025-04-27
  • 使用s-table組件優化網頁表格展示

    一、s-table組件概述 s-table是element-ui中的一個表格組件,使用簡便、性能優良,可適用於各種場景。其中,s-table組件提供了自定義表頭、表格大小、表格斑馬…

    編程 2025-04-13
  • Latex toprule – 論使用 toprule 繪製漂亮的表格

    一、為什麼要使用 toprule 在學術界,文章中常常需要插入表格,而有時候表格顯得乏味、難以閱讀。為了使表格看起來更加美觀、易讀,我們可以使用 Latex 的 toprule 命…

    編程 2025-04-12
  • 論文表格分析

    一、表格樣式 1、論文中的表格樣式大多為簡潔明了的線框表格,沒有花哨的色彩和邊框。這種樣式方便讀者快速獲取信息,避免了無關信息的干擾。 代碼示例: 姓名 年齡 性別 小明 18 男…

    編程 2025-04-12
  • ElementUI 表格內容居中詳解

    一、表格內容居中怎麼設置? 使用 ElementUI 中的表格組件,可以通過設置表格列的 align 屬性來控制表格內容的對齊方式。默認情況下,表格內容的對齊方式為左對齊。如果需要…

    編程 2025-02-27

發表回復

登錄後才能評論