Jelajahi Sumber

提交测试

lvhao 5 jam lalu
induk
melakukan
cb1ee9dc6a

+ 2 - 1
core/CoreApp/controllers/Fullorderexcel.php

@@ -44,6 +44,7 @@ class Fullorderexcel extends Start_Controller {
 		$this->load->_model('Model_producttitle','producttitle');
 		$this->load->_model('Model_message','message');
 		$this->load->_model("Model_logic_ding","logic_ding");
+		$this->load->_model('Model_excelxh','excelxh');
 	}
 	//定义方法的调用规则 获取URI第二段值
     public function _remap($arg,$arg_array)
@@ -1497,7 +1498,7 @@ class Fullorderexcel extends Start_Controller {
             </table>";
 			$tail = "\n";
             $filename = $title.".xls";
-            $this->excel->get_fz5($info_list,$titlename,$filename,$tail,$kong);
+            $this->excelxh->get_fz5($info_list,$titlename,$filename,$tail,$kong);
 	    }
 	}
 	//根据fpdata获取商品sku属性

+ 198 - 0
core/CoreApp/models/Model_excelxh.php

@@ -167,4 +167,202 @@ class Model_excelxh extends Lin_Model {
 		
 		exit(); 
 	}
+
+
+	public function get_fz5($info_list,$titlename,$filename,$tail,$kong)//带空项
+	{
+
+		//这样 echo 的内容就会直接往外发,不会再在内存里堆成大球
+		while (ob_get_level()) {
+			ob_end_clean();
+		}
+		header("Content-Type: application/vnd.ms-excel; name='excel'");
+		header("Content-type: application/octet-stream");
+		header("Content-Disposition: attachment; filename=" . $filename);
+		header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
+		header("Pragma: no-cache");
+		header("Expires: 0");
+
+		echo '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
+		echo '<head>';
+		echo '<!--[if gte mso 9]><xml>';
+		echo '<x:ExcelWorkbook>';
+		echo '<x:ExcelWorksheets>';
+		echo '<x:ExcelWorksheet>';
+		echo '<x:Name>EXCEL</x:Name>';
+		echo '<x:WorksheetOptions>';
+		echo '<x:Print>';
+		echo '<x:ValidPrinterInfo />';
+		echo '</x:Print>';
+		echo '</x:WorksheetOptions>';
+		echo '</x:ExcelWorksheet>';
+		echo '</x:ExcelWorksheets>';
+		echo '</x:ExcelWorkbook>';
+		echo '</xml>';
+		echo '<![endif]-->';
+		echo '</head><body>';
+		echo  $titlename; 
+		echo  "<table border=1 style='font-family: Microsoft Yahei;font-size: 13px;'>"; 
+		foreach ($info_list as $key=>$value) 
+		{ 
+		    $str = "<tr>";$i=0;
+			foreach ($kong as $k=>$a) 
+			{
+				array_splice($value,$k,0,''); 
+			}
+		    foreach ($value as $ke=>$va) 
+			{
+				$tj = '';
+				//文本:vnd.ms-excel.numberformat:@
+				//日期:vnd.ms-excel.numberformat:yyyy/mm/dd
+				//数字:vnd.ms-excel.numberformat:#,##0.00
+				//货币:vnd.ms-excel.numberformat:¥#,##0.00
+				//百分比:vnd.ms-excel.numberformat: #0.00%
+				if($ke == 'shipremarks')
+				{
+					$va = str_replace(array('<','>'),array('&lt;','&gt;'),$va);
+				}
+				if($ke == 'shouldmoney' || $ke == 'freight' || $ke == 'expressmoney' || $ke == 'budget' || $ke == 'cost' || $ke == 'refundy' || $ke == 'refundj')
+				{
+					$str .= "<td align='left'>".$va."</td>";//使用文本格式
+				}
+				else if($ke == 'ts')
+				{
+					$str .= "<td align='left' style='vnd.ms-excel.numberformat:0'>".$va."</td>";
+				}
+				else if($ke == 'zsbjz' || $ke == 'dtsbjz' || $ke == 'insurance')
+				{
+					$str .= "<td align='left' style='vnd.ms-excel.numberformat:#,##0.00'>".$va."</td>";
+				}
+				else if($ke == 'zjs' || $ke == 'ts')
+				{
+					$str .= "<td align='left' style='vnd.ms-excel.numberformat:#,##'>".$va."</td>";
+				}
+				else if($ke == 'zzl' || $ke == 'jweight' || $ke == 'weight')
+				{
+					if($ke == 'weight')
+					{
+						$va = trim($va,'kg');
+					}
+					$str .= "<td align='left' style='vnd.ms-excel.numberformat:#,##0.00'>".$va."</td>";
+				}
+				else if($ke != 'hl' && $ke != 'currencytitle' || $ke == 'orderinfo')
+				{
+					$str .= "<td align='left' style='vnd.ms-excel.numberformat:@'>".trim($va,' ')."\t"."</td>";
+				}
+				$i++;
+		    }
+			$str .= "</tr>\n";
+			echo $str;
+		}
+		echo  $tail;
+		echo "</table></body></html>"; 
+		exit(); 
+		//return $str;
+	}
+	
+	public function get_fz6($info_list,$titlename,$filename)
+	{
+		
+		//这样 echo 的内容就会直接往外发,不会再在内存里堆成大球
+		while (ob_get_level()) {
+			ob_end_clean();
+		}
+		header("Content-Type: application/vnd.ms-excel; name='excel'");
+		header("Content-type: application/octet-stream");
+		header("Content-Disposition: attachment; filename=" . $filename);
+		header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
+		header("Pragma: no-cache");
+		header("Expires: 0");
+
+		echo '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
+		echo '<head>';
+		echo '<!--[if gte mso 9]><xml>';
+		echo '<x:ExcelWorkbook>';
+		echo '<x:ExcelWorksheets>';
+		echo '<x:ExcelWorksheet>';
+		echo '<x:Name>EXCEL</x:Name>';
+		echo '<x:WorksheetOptions>';
+		echo '<x:Print>';
+		echo '<x:ValidPrinterInfo />';
+		echo '</x:Print>';
+		echo '</x:WorksheetOptions>';
+		echo '</x:ExcelWorksheet>';
+		echo '</x:ExcelWorksheets>';
+		echo '</x:ExcelWorkbook>';
+		echo '</xml>';
+		echo '<![endif]-->';
+		echo '</head><body>';
+		echo  $titlename; 
+		echo  "<table border=1 style='font-family: Microsoft Yahei;font-size: 13px;'><tr>"; 
+		foreach ($info_list as $key=>$value) 
+		{ 
+		    echo "<td><table border=0>";
+		    foreach ($value as $ke=>$va) 
+			{
+				if($ke == 'shipremarks')
+				{
+					$va = str_replace(array('<','>'),array('&lt;','&gt;'),$va);
+				}
+				echo "<tr><td>".$va[0]."</td><td style='vnd.ms-excel.numberformat:@'>".$va[1]."</td></tr>";
+		    }
+			echo "</table></td>\n";
+		}
+		echo "</tr></table></body></html>"; 		
+		exit(); 
+		//return $str;
+	}
+
+	public function get_fz7($info_list,$titlename,$filename)
+	{
+		
+		//这样 echo 的内容就会直接往外发,不会再在内存里堆成大球
+		while (ob_get_level()) {
+			ob_end_clean();
+		}
+		header("Content-Type: application/vnd.ms-excel; name='excel'");
+		header("Content-type: application/octet-stream");
+		header("Content-Disposition: attachment; filename=" . $filename);
+		header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
+		header("Pragma: no-cache");
+		header("Expires: 0");
+
+		echo '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
+		echo '<head>';
+		echo '<!--[if gte mso 9]><xml>';
+		echo '<x:ExcelWorkbook>';
+		echo '<x:ExcelWorksheets>';
+		echo '<x:ExcelWorksheet>';
+		echo '<x:Name>EXCEL</x:Name>';
+		echo '<x:WorksheetOptions>';
+		echo '<x:Print>';
+		echo '<x:ValidPrinterInfo />';
+		echo '</x:Print>';
+		echo '</x:WorksheetOptions>';
+		echo '</x:ExcelWorksheet>';
+		echo '</x:ExcelWorksheets>';
+		echo '</x:ExcelWorkbook>';
+		echo '</xml>';
+		echo '<![endif]-->';
+		echo '</head><body>';
+		echo  $titlename; 
+		echo  "<table border=1 style='font-family: Microsoft Yahei;font-size: 13px;'><tr>"; 
+		foreach ($info_list as $key=>$value) 
+		{ 
+		    echo  "<td><table border=0>";
+		    foreach ($value as $ke=>$va) 
+			{
+				if($ke == 'shipremarks')
+				{
+					$va = str_replace(array('<','>'),array('&lt;','&gt;'),$va);
+				}
+				echo  "<tr><td>".$va[0]."</td><td style='vnd.ms-excel.numberformat:@'>".$va[1]."</td><td >".$va[2]."</td></tr>";
+		    }
+			echo  "</table></td>\n";
+		}
+		echo "</tr></table></body></html>"; 
+		
+		exit(); 
+		//return $str;
+	}
 }