2

この質問が忘却に下がったり、「ローカライズされすぎ」として閉じられたりするリスクを冒して、上司が絶えず不満を言っていて頭を悩ませているので、この問題について投稿すると思いました。

Infragistics NetAdvantage Excelコントロールを使用して、Excelレポートをその場で作成します。一部のセルでは、次のように塗りつぶしの色を追加します。

sheet.Rows[i].Cells[0].CellFormat.FillPattern = FillPatternStyle.Solid;
sheet.Rows[i].Cells[0].CellFormat.FillPatternForegroundColor = Color.FromArgb(127, 127, 127);

これはうまく機能し、レポートは正常に表示されます。

作業画像

ただし、マネージャーがExcelのすべてのセルを選択し、データをクリップボードにコピーしてから、それらのセルを別のExcelファイルに貼り付けると、すべての色が奇妙な3ビットパレットに変換されます。

ここに画像の説明を入力してください

現在、すべての塗りつぶしの色は、純粋な赤(#FF0000)、純粋な緑(#00FF00)、純粋な青(#0000FF)、または黄色(#FFFF00)のいずれかです。それは与えられた色のすべてか無かです。その濃い灰色のヘッダーは完全に白になります。

興味深いのは、Excelでこれらのセルの1つの塗りつぶしの色を手動で変更し、それをコピーして貼り付けると、Infragisticsで生成されたセルがディザリングされている間に、手動で設定した色が完全にコピーされることです。

これは、Excelドキュメント内のワークシート間ではなく、Excelファイル間でコピーする場合にのみ発生します。誰かがこの問題に遭遇したことがありますか、またはExcelの専門家は、技術的な観点からこれを引き起こす可能性があるものを知っていますか?

これはExcel2007であり、InfragisticsBuild8.2.20082.1000です。

4

5 に答える 5

1

これは、Excelエンジンで使用されるカラーモデルに変更が加えられたNetAdvantage 2012Volume1で対処されています。InfragisticsフォーラムでのMikeの返信にも、これが記載されています。

この問題を解決する最善のオプションは、NetAdvantage 2012Volume1のExcelエンジンを使用することです。

于 2012-07-17T20:35:23.490 に答える
1

そのため、同じ問題が発生し、コピーされた形式が別のワークシートに引き継がれない理由を理解できませんでした。したがって、公式の「修正」はありませんが、完全に別のExcelドキュメントを使用していたため、それが引き継がれていないことに気付きました。基本的に、同じExcelシートにドキュメントをコピーして貼り付ける必要があります。したがって、コピーするアイテムを開いた状態で、コピーシートから他のExcelシート([ファイル]、[開く])を開きます。貼り付けると、すべてのフォーマットが保持されます。お役に立てれば!

于 2015-08-24T16:57:24.420 に答える
0

バージョンが異なれば色のレンダリングも異なり、これがあなたが見ているもののようです

これは、この記事http://answers.officewriter.com/workbook-colors-are-not-displayed-as-expected-in-older-versions-of-excelで詳しく説明されています。

カスタムパレットを作成するためのツールがあり、独自のパレットを作成するよりもはるかに簡単にこれを解決できます。

http://excelcampus.com/tools/color-palette-conversion

ここに画像の説明を入力してください

Excelの保存設定を使用すると、使用する色を変更または保持できます ここに画像の説明を入力してください

于 2012-07-16T23:11:32.450 に答える
0

また、アップグレードを望まない(または余裕がない)人のための解決策も見つけました。次のようなワークブックを作成するだけです。

Workbook b = new Workbook(WorkbookPaletteMode.StandardPalette);

問題を解決します。ただし、明らかに、完全にカスタムの色を使用することはできません。それらは最も近い標準色に丸められますが、これは私たちの場合は完全に問題ありませんでした。

于 2012-08-28T15:57:45.347 に答える
0

さて、ここや他の場所で同じ問題を説明した後、これを理解したと思います.......これをチェックしてください!まず、貼り付け先のページに移動してページ全体をハイライトし、印刷領域に移動して「印刷領域をクリア」します。次に、貼り付け領域に移動して、そこに何もない場合でもセルを削除します。行を強調表示します(そこには何もありませんが)。行を削除します。さあ、最初から始めて、コピーして貼り付ければ、元の色と数式をすべて持ち帰って貼り付けることができるはずです。

于 2015-12-13T21:18:00.903 に答える