大家帮忙优化下吧
getletter方法是把数组的索引转成excel的表头// 数字转字母<br>
function getLetter($num) {<br>
$str = "$num";<br>
$num = intval($num);<br>
if ($num
$ret = chr(ord('A') + intval($str) - 1);<br>
} else {<br>
$first_str = chr(ord('A') + intval(floor($num / 26)) - 1);<br>
$second_str = chr(ord('A') + intval($num % 26) - 1);<br>
if ($num % 26 == 0){<br>
$first_str = chr(ord('A') + intval(floor($num / 26)) - 2);<br>
$second_str = chr(ord('A') + intval($num % 26) + 25);<br>
}<br>
$ret = $first_str.$second_str;<br>
}<br>
return $ret;<br>
}<br>
<br>
// excel 导入<br>
/**<br>
* 导入excel到数据库<br>
* @param string $db 数据库表名<br>
* @param path string 文件名(路径)<br>
* @return boolean<br>
*/<br>
function excelImport($db, $file) {<br>
import("Org.Util.PHPExcel");<br>
$PHPExcel = new PHPExcel();<br>
<br>
$PHPReader = new \PHPExcel_Reader_Excel2007();<br>
if (!$PHPReader->canRead($file)) {<br>
$PHPReader = new \PHPExcel_Reader_Excel5();<br>
if (!$PHPReader->canRead($file)){<br>
return false;<br>
}<br>
}<br>
<br>
$E = $PHPReader->load($file);<br>
$cur = $E->getSheet(0); // 读取第一个表<br>
$end = $cur->getHighestColumn(); // 获得最大的列数<br>
$line = $cur->getHighestRow(); // 获得最大总行数<br>
// 获取数据数组<br>
$info = array(); <br>
for ($row = 1; $row
for ($column = 'A'; $column
$val = $cur->getCellByColumnAndRow(ord($column) - 65, $row)->getValue();<br>
$info[$row][] = $val;<br>
}<br>
}<br>
<br>
$DB = M($db);<br>
$data = array();<br>
for ($i = 2; $i
for ($j = 0; $j
for ($k = 0; $k
$data[$i][$info[1][$k]] = $info[$i][$k];<br>
}<br>
}<br>
}<br>
$datalist = array_values($data);<br>
$result = $DB->addAll($datalist);<br>
// echo $DB->getLastSql();exit;<br>
if ($result) {<br>
return true;<br>
}<br>
return false;<br>
}<br>
<br>
// 导出excel<br>
/**<br>
* 导出excel方法<br>
* @param array $data 需要导出的数据<br>
* @param array $title excel表头<br>
* @param string $name 导出后的文件名<br>
*/<br>
function excelExport ($data, $title=null, $name=null) {<br>
import("Org.Util.PHPExcel");<br>
$PHPExcel = new PHPExcel();<br>
<br>
if(!is_null($title)){<br>
array_unshift($data, $title);<br>
}<br>
<br>
if(is_null($name)){<br>
$name = time();<br>
}<br>
<br>
foreach ($data as $k => $v) {<br>
for ($i = 1; $i
$tr = getLetter($i).($k+1);<br>
if ($value == null) {<br>
$value = '';<br>
}<br>
$buffer[$tr]=array_values($v)[$i-1];<br>
$PHPExcel->getActiveSheet()->setCellValue($tr, array_values($v)[$i-1]);<br>
} <br>
}<br>
<br>
$PHPExcel->setActiveSheetIndex(0);<br>
header('Content-Type: application/vnd.ms-excel'); <br>
header('Content-Disposition: attachment;filename="' . $name . '.xls"'); //文件名称 <br>
header('Cache-Control: max-age=0');<br>
$result = PHPExcel_IOFactory::createWriter($PHPExcel, 'Excel2007');<br>
$result->save('php://output'); <br>
}
AD:真正免费,域名+虚机+企业邮箱=0元

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。