ホームページ バックエンド開発 PHPチュートリアル phpexcel によって Excel にエクスポートされた色が、Web ページに表示される色と一致しない_PHP チュートリアル

phpexcel によって Excel にエクスポートされた色が、Web ページに表示される色と一致しない_PHP チュートリアル

Jul 21, 2016 pm 03:14 PM
excel phpexcel について そして 輸出 見せる ウェブページ

phpexcel でエクスポートされた色に関するいくつかの問題について、phpexcel を使用してエクスポートされた Excel の色が Web ページに表示される色と一致しないのはなぜですか?何が起こっているのか知りたいですか?どうやって解決すればいいのでしょうか? PHP コードの詳細は次のとおりです:
PHP コード:

コードをコピー コードは次のとおりです:

require_once './PHPExcel.php';
require_once './Excel5.php';
require_once './get_excel_row.php';
「../include/base.php」が必要;
「../include/function/006/creatExcelDb.php」が必要;
define("COLOR1","#96B7F6");
//查处理データ===++++++++++++++++++++++++++++++++++++++++ ++++
$q = $db->query("select * from oa_event_sales");
while($a = $db->fetch_array($q)){
$list[] = $a;
}
$ce = 新しいcreatExcelDb();
$re = $ce->_run($list,'served_time','client_status','oid');
$all_nums=0;
$num=配列();
foreach($re as $k=>$v){
$num[$k]=count($re[$k]);
$all_nums+=count($re[$k]);
}
$jq = array();
$title1 = クライアントステータス;
$title2 = fin_confirm;
$title3 = オイド;
//去除数組中同然の值
foreach($re as $key => $val){
if(true){
foreach($val as $key2 => $val2){
if(!in_array ($key2,$jq)){
$jq[] = $key2;
}
}
}
}
$arr_keys=array();
foreach($re as $k=>$v){
foreach($v as $k2=>$v2){
$arr_keys[]=$k2;
}
}
$c=array_count_values($arr_keys);
//++===++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++
// 创建一处理对オブジェクト例
$objExcel = new PHPExcel();
// 创建文件格式書入对オブジェクト实例、コメント解除
$objWriter = new PHPExcel_Writer_Excel5($objExcel);
//設定文档基本プロパティ/**一般的には使われないようです**/
$objProps = $objExcel->getProperties();
$objProps->setCreator("杨本木");
$objProps->setLastModifiedBy("杨本木");
$objProps->setTitle("杨本木");
$objProps->setSubject("杨本木");
$objProps->setDescription("杨本木");
$objProps->setKeywords("杨本木");
$objProps->setCategory("杨本木");
//****************************************
//後続のコンテンツ操作のために現在のシート インデックスを設定します。
//通常、表示呼び出しは複数のシートを使用する場合にのみ必要です。
//デフォルトでは、PHPExcel は SheetIndex=0 で最初のシートを自動的に作成します set
$objExcel->setActiveSheetIndex(0);
$objActSheet = $objExcel->getActiveSheet();
//現在の名前を設定しますアクティブシートの
$objActSheet->setTitle('currentsheetname');
//EXCELの幅とは少し違う値です。 EXCEL の幅
//$objActSheet- >getColumnDimension('A')->setWidth(20);
//$objActSheet->getRowDimension(1)->setRowHeight(30); //Height
/ /セルの値を設定
$objActSheet ->setCellValue('A1', 'タイトル合計表示');
/*
//スタイルを設定
$objStyleA1 = $objActSheet->getStyle('A1'); $ objstylea1-> gt; sethorizo​​ntal(phpexcel_style_alignment :: horizo​​ntal_centa1 = $ objstylea1-> >setSize(18);
$ob jFontA1 ->setBold(true);
//列の中央揃えを設定します
$objActSheet->getStyle('D')->getAlignment()->set水平(PHPExcel_Style_Alignment) ::HORIZONTAL_CENTER);*/
//============最初======================== ===========
$ベンム=1;
$objActSheet->setCellValue('A1', '行标签列标签');
foreach($jq as $k=>$v){
$objActSheet->setCellValue(get_excel_row($benmu).'1', $v);
$ベンム+=1;
}
$objActSheet->setCellValue(get_excel_row($benmu).'1', '总计');
//設定
for($i=0;$i$objActSheet->getColumnDimension(get_excel_row($i))->setWidth(20);
//宽度
$objActSheet->getStyle(get_excel_row($i)."1")->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objActSheet->getStyle(get_excel_row($i))->getAlignment()->sethorizo​​ntal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//颜色
$objActSheet->getStyle(get_excel_row($i)."1")->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objActSheet->getStyle(get_excel_row($i)."1")->getFill()->getStartColor()->setARGB(COLOR1);
}
//==============内容=================
$y=2;
foreach($re as $k1=>$v1){ //$k1 全部放出 A2。。。。後、k1 は電話番号、v1 は人》番号です
$objActSheet->setCellValue('A'.$y, $k1);
//Color
$objActSheet->getStyle('A'. $y )->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objActSheet->getStyle('A'.$y)->getFill()->getStartColor()-> setARGB( COLOR1);
foreach($jq as $k2=>$v2){ //k2 は 0、v2 は人
foreach($v1 as $k3=>$v3){ //$k3 は人,$ v3 は目的の値です
if($k3==$v2){
//$objActSheet->setCellValue(get_excel_row("1"+$k2).$y,$v1[$k3]); $objActSheet ->setCellValueExplicit(get_excel_row("1"+$k2).$y,$v1[$k3],PHPExcel_Cell_DataType::TYPE_STRING);
}
}
}
$objActSheet->setCellValue(get_excel_row(") 1" +count($jq)).$y, $num[$k1]);
$y+=1;
}
//=================last == ========
$objActSheet->setCellValue("A".$y,"Total");
//Color
$objActSheet->getStyle("A".$y)- >getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objActSheet->getStyle("A".$y)->getFill()->getStartColor()->setARGB(COLOR1) ;
foreach($jq as $k=>$v){ //k は人です
$objActSheet->setCellValue(get_excel_row("1"+$k).$y,$c[$v]);
/ /Color
$objActSheet->getStyle(get_excel_row("1"+$k).$y)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objActSheet->getStyle( get_excel_row( "1"+$k).$y)->getFill()->getStartColor()->setARGB(COLOR1)
}
$objActSheet->setCellValue(get_excel_row("1"+count) ($ jq)).$y,$all_nums);
//Color
$objActSheet->getStyle(get_excel_row("1"+count($jq)).$y)->getFill()-> setFillType( PHPExcel_Style_Fill::FILL_SOLID);
$objActSheet->getStyle(get_excel_row("1"+count($jq)).$y)->getFill()->getStartColor()->setARGB(COLOR1) );
//==============================
//出力コンテンツ
$outputFileName =time()。 ".xls ";
header("Pragma: public");
header("Cache-Control:must-revalidate、post-check=0、pre-check=0"); ;
header ("Content-Type:application/force-download");
header("Content-Type:application/download"); header('Content-Disposition:attachment;filename='.$outputFileName.'');
header("Content-Transfer-Encoding:binary");
$objWriter->save('php://output') ;
?>


上記のコードでは、エクスポートされた Excel では色が正しく表示されません。理由は何ですか?なぜでしょうか?
まず、次のように赤色を定義して、何が表示されるかを確認します。ページに表示されている色ではないので、とてもわかりにくいです。 。 。 。 。
このコードを見てください: $objActSheet->getStyle('A'.$y)->getFill()->getStartColor()->setARGB(COLOR1);
おそらく ARGB が原因だと思います。色の前に 2 つの 00 を追加するだけですが、これが機能するかどうかはわかりません。最初に効果を試してみましょう。この問題は次のようになります。まず、a は透明度なので、後でテストしてみましたが、それが実際に透明度を高めた 4 ビットの色修正であることがわかりました。




http://www.bkjia.com/PHPjc/326231.html
www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/326231.html技術記事 phpexcel でエクスポートされた色に関するいくつかの問題について、phpexcel を使用してエクスポートされた Excel の色が Web ページに表示される色と一致しないのはなぜですか?何が起こっているのか知りたいですか?解決方法...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Excelで印刷時に枠線が消えてしまった場合はどうすればよいですか? Excelで印刷時に枠線が消えてしまった場合はどうすればよいですか? Mar 21, 2024 am 09:50 AM

印刷が必要なファイルを開いたときに、印刷プレビューで表の枠線が何らかの原因で消えてしまった場合は、早めに対処する必要があります。 file このような質問がある場合は、エディターに参加して次のコースを学習してください: Excel で表を印刷するときに枠線が消えた場合はどうすればよいですか? 1. 次の図に示すように、印刷する必要があるファイルを開きます。 2. 以下の図に示すように、必要なコンテンツ領域をすべて選択します。 3. 以下の図に示すように、マウスを右クリックして「セルの書式設定」オプションを選択します。 4. 以下の図に示すように、ウィンドウの上部にある「境界線」オプションをクリックします。 5. 下図に示すように、左側の線種で細い実線パターンを選択します。 6.「外枠」を選択します

Excelで3つ以上のキーワードを同時にフィルタリングする方法 Excelで3つ以上のキーワードを同時にフィルタリングする方法 Mar 21, 2024 pm 03:16 PM

Excelは日々の事務作業でデータ処理に使用されることが多く、「フィルター」機能を使用することが多いです。 Excel で「フィルタリング」を実行する場合、同じ列に対して最大 2 つの条件しかフィルタリングできません。では、Excel で同時に 3 つ以上のキーワードをフィルタリングする方法をご存知ですか?次に、それをデモンストレーションしてみましょう。 1 つ目の方法は、フィルターに条件を徐々に追加することです。条件を満たす 3 つの詳細を同時にフィルターで除外する場合は、まずそのうちの 1 つを段階的にフィルターで除外する必要があります。最初に、条件に基づいて姓が「Wang」の従業員をフィルタリングできます。 [OK]をクリックし、フィルター結果の[現在の選択をフィルターに追加]にチェックを入れます。手順は以下の通りです。同様に再度個別にフィルタリングを行う

Excelテーブル互換モードを通常モードに変更する方法 Excelテーブル互換モードを通常モードに変更する方法 Mar 20, 2024 pm 08:01 PM

私たちは日々の仕事や勉強で、他人からExcelファイルをコピーし、そのファイルを開いて内容を追加したり、再編集したりして保存することがありますが、互換性チェックのダイアログボックスが表示されることがあり、非常に面倒です。ソフトウェア. 、通常モードに変更できますか?そこで以下では、エディターがこの問題を解決するための詳細な手順を紹介します。一緒に学びましょう。最後に、忘れずに保存してください。 1. 図に示すように、ワークシートを開き、ワークシートの名前に追加の互換モードを表示します。 2. このワークシートでは、内容を変更して保存すると、図のように互換性チェックのダイアログが必ず表示され、非常に面倒です。 3. [Office] ボタンをクリックし、[名前を付けて保存] をクリックして、

Excelで上付き文字を設定する方法 Excelで上付き文字を設定する方法 Mar 20, 2024 pm 04:30 PM

データを処理していると、倍数や温度などのさまざまな記号が含まれるデータに遭遇することがあります。 Excel で上付き文字を設定する方法をご存知ですか? Excel を使用してデータを処理する場合、上付き文字を設定しないと、大量のデータを入力するのがさらに面倒になります。今回はエクセルの上付き文字の具体的な設定方法をエディターがお届けします。 1. まず、図に示すように、デスクトップで Microsoft Office Excel ドキュメントを開き、上付き文字に変更する必要があるテキストを選択します。 2. 次に、図に示すように、右クリックして、クリック後に表示されるメニューで「セルの書式設定」オプションを選択します。 3. 次に、自動的に表示される「セルの書式設定」ダイアログボックスで

エクセルでiif関数を使う方法 エクセルでiif関数を使う方法 Mar 20, 2024 pm 06:10 PM

ほとんどのユーザーは Excel を使用してテーブル データを処理します。実は Excel にも VBA プログラムがあります。専門家を除けば、この関数を使用したユーザーはあまり多くありません。VBA で記述するときによく使用されるのが iif 関数です。実際には、次の場合と同じです。関数の機能は似ていますが、iif関数の使い方を紹介します。 SQL ステートメントには iif 関数があり、Excel には VBA コードがあります。 iif 関数は Excel ワークシートの IF 関数と似ており、論理的に計算された真値と偽値に基づいて真偽値を判定し、異なる結果を返します。 IF 関数の使用法は (条件、はい、いいえ) です。 VBAのIF文とIIF関数、前者のIF文は条件に応じて異なる文を実行できる制御文であり、後者は条件に応じて異なる文を実行できる制御文です。

WeChat で Douyin プライベート メッセージの絵文字を取得するにはどうすればよいですか?プライベート メッセージの絵文字パッケージをエクスポートするにはどうすればよいですか? WeChat で Douyin プライベート メッセージの絵文字を取得するにはどうすればよいですか?プライベート メッセージの絵文字パッケージをエクスポートするにはどうすればよいですか? Mar 21, 2024 pm 10:01 PM

ソーシャルメディアの台頭が続く中、Douyinは人気のショートビデオプラットフォームとして多くのユーザーを魅了しています。 Douyin では、ユーザーは自分の生活を公開するだけでなく、他のユーザーと交流することもできます。このインタラクションにおいて、絵文字は徐々にユーザーが感情を表現する重要な手段になってきました。 1. WeChat で Douyin プライベート メッセージ絵文字を取得するにはどうすればよいですか?まず、Douyin プラットフォームでプライベート メッセージ絵文字を取得するには、Douyin アカウントにログインし、気に入った絵文字を参照して選択する必要があります。友達に送信するか、自分で収集するかを選択できます。 Douyin で絵文字パッケージを受信した後、プライベート メッセージ インターフェイスで絵文字パッケージを長押しし、「絵文字に追加」機能を選択できます。このようにして、この顔文字パッケージをDouyinの顔文字ライブラリに追加できます。 3. 次に、Douyin 顔文字ライブラリに単語を追加する必要があります

Excelの読み取りモードを設定する場所 Excelの読み取りモードを設定する場所 Mar 21, 2024 am 08:40 AM

ソフトウェアの学習では、Excel が便利なだけでなく、実際の作業で必要なさまざまな形式に対応できるため、Excel の使用に慣れています。Excel は非常に柔軟に使用でき、今日は「みんなのために:Excelの読み取りモードを設定する場所」を持ってきました。 1. コンピュータの電源を入れ、Excel アプリケーションを開き、目的のデータを見つけます。 2. Excel で読み取りモードを設定するには 2 つの方法があります。 1 つ目: Excel には、Excel レイアウトで多数の便利な処理メソッドが配布されています。 Excelの右下に読み取りモードを設定するショートカットがあります。バツマークのパターンを見つけてクリックすると、読み取りモードに入ります。バツマークの右側に小さな立体マークがあります。 。

ExcelアイコンをPPTスライドに挿入する方法 ExcelアイコンをPPTスライドに挿入する方法 Mar 26, 2024 pm 05:40 PM

1. PPT を開き、Excel アイコンを挿入する必要があるページに移動します。 「挿入」タブをクリックします。 2. [オブジェクト]をクリックします。 3. 次のダイアログボックスが表示されます。 4. [ファイルから作成]をクリックし、[参照]をクリックします。 5. 挿入する Excel テーブルを選択します。 6. [OK] をクリックすると、次のページが表示されます。 7. [アイコンで表示]にチェックを入れます。 8. 「OK」をクリックします。

See all articles