Excelファイルの画像と図形を挿入する
時々、ワークシートに必要な形状を挿入する必要があります。ワークシートの異なる位置に同じ形状を挿入する必要があったり、ワークシートに複数の形状を一括挿入する必要があるかもしれません。
心配しないでください!Aspose.Cellsはこれらの操作をすべてサポートしています。
Excelの形状は主に以下の種類に分かれています:
- 写真
- OLEオブジェクト
- 直線
- 四角形
- 基本図形
- ブロック矢印
- 数式図形
- フローチャート
- 星とバナー
- 吹き出し
このガイド文書では、各タイプから1つか2つの図形を選択してサンプルを作成します。これらの例を通じて、指定の形状をワークシートに挿入する方法を学ぶことができます。Aspose.Cellsを使用しています。
C#でExcelワークシートに画像を追加する
スプレッドシートに写真を追加するのは非常に簡単です。わずかなコード行だけで済みます: 単純に、Picturesコレクション(Worksheetオブジェクトでカプセル化)のAddメソッドを呼び出します。Addメソッドには以下のパラメータが必要です:
- 左上の行インデックス、左上の行のインデックス。
- 左上の列インデックス、左上の列のインデックス。
- 画像ファイル名、パスを含む画像ファイルの名前。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Adding a new worksheet to the Workbook object | |
int sheetIndex = workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[sheetIndex]; | |
// Adding a picture at the location of a cell whose row and column indices | |
// Are 5 in the worksheet. It is "F6" cell | |
worksheet.Pictures.Add(5, 5, dataDir + "logo.jpg"); | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); |
C#でExcelワークシートにOLEオブジェクトを挿入する
Aspose.Cellsはワークシート内のOLEオブジェクトの追加、抽出、および操作をサポートしています。そのため、Aspose.Cellsには新しいOLEオブジェクトをコレクションリストに追加するために使用されるOleObjectCollectionクラスがあります。また、OleObjectという別のクラスはOLEオブジェクトを表します。いくつかの重要なメンバーがあります。
- ImageDataプロパティはバイト配列型の画像(アイコン)データを指定します。画像はOLEオブジェクトを示すために表示されます。
- ObjectDataプロパティはバイト配列形式のオブジェクトデータを指定します。このデータは、OLEオブジェクトアイコンをダブルクリックすると関連するプログラムに表示されます。
以下の例は、ワークシートにOLEオブジェクトを追加する方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet. | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Define a string variable to store the image path. | |
string ImageUrl = dataDir + "logo.jpg"; | |
// Get the picture into the streams. | |
FileStream fs = File.OpenRead(ImageUrl); | |
// Define a byte array. | |
byte[] imageData = new Byte[fs.Length]; | |
// Obtain the picture into the array of bytes from streams. | |
fs.Read(imageData, 0, imageData.Length); | |
// Close the stream. | |
fs.Close(); | |
// Get an excel file path in a variable. | |
string path = dataDir + "book1.xls"; | |
// Get the file into the streams. | |
fs = File.OpenRead(path); | |
// Define an array of bytes. | |
byte[] objectData = new Byte[fs.Length]; | |
// Store the file from streams. | |
fs.Read(objectData, 0, objectData.Length); | |
// Close the stream. | |
fs.Close(); | |
// Add an Ole object into the worksheet with the image | |
// Shown in MS Excel. | |
sheet.OleObjects.Add(14, 3, 200, 220, imageData); | |
// Set embedded ole object data. | |
sheet.OleObjects[0].ObjectData = objectData; | |
// Save the excel file | |
workbook.Save(dataDir + "output.out.xls"); |
C#でExcelワークシートに行を挿入する
線の形状は線のカテゴリに属します。
Microsoft Excel(例: 2007年)
- 線を挿入するセルを選択します
- [挿入] メニューをクリックし、[図形] をクリックします。
- 次に、「最近使用した図形」または「線」から線を選択します
Aspose.Cells を使用
ワークシートに線を挿入するために以下の方法を使用できます。
このメソッドはLineShapeオブジェクトを返します。
次の例では、ワークシートに線を挿入する方法が示されています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the line to the worksheet | |
sheet.Shapes.AddLine(2, 0, 2, 0, 100, 300);//method 1 | |
//sheet.Shapes.AddAutoShape(AutoShapeType.Line, 2, 0, 2, 0, 100, 300);//method 2 | |
//sheet.Shapes.AddShape(MsoDrawingType.Line, 2, 0, 2, 0, 100, 300);//method 3 | |
//Save.You can check your line in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
上記のコードを実行すると、次の結果が得られます。
C#でExcelワークシートに矢印の形の直線を挿入する
直線矢印の形状は直線のカテゴリに属します。これは直線の特別な場合です。
Microsoft Excel(例: 2007年)
- 矢印を挿入するセルを選択します
- [挿入] メニューをクリックし、[図形] をクリックします。
- 次に、「最近使用した図形」または「線」から直線矢印を選択します
Aspose.Cells を使用
ワークシートに直線矢印を挿入するために以下の方法を使用できます。
このメソッドはLineShapeオブジェクトを返します。
次の例では、ワークシートに直線矢印を挿入する方法が示されています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the line arrow to the worksheet | |
Shape s = sheet.Shapes.AddLine(2, 0, 2, 0, 100, 300);//method 1 | |
//Shape s = sheet.Shapes.AddAutoShape(AutoShapeType.Line, 2, 0, 2, 0, 100, 300);//method 2 | |
//Shape s = sheet.Shapes.AddShape(MsoDrawingType.Line, 2, 0, 2, 0, 100, 300);//method 3 | |
//add a arrow at the line begin | |
s.Line.BeginArrowheadStyle = MsoArrowheadStyle.Arrow;//arrow type | |
s.Line.BeginArrowheadWidth = MsoArrowheadWidth.Wide;//arrow width | |
s.Line.BeginArrowheadLength = MsoArrowheadLength.Short;//arrow length | |
//add a arrow at the line end | |
s.Line.EndArrowheadStyle = MsoArrowheadStyle.ArrowOpen;//arrow type | |
s.Line.EndArrowheadWidth = MsoArrowheadWidth.Narrow;//arrow width | |
s.Line.EndArrowheadLength = MsoArrowheadLength.Long;//arrow length | |
//Save.You can check your arrow in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
上記のコードを実行すると、次の結果が得られます。
C#でExcelワークシートに長方形を挿入する
長方形の形状は矩形のカテゴリに属します。
Microsoft Excel(例: 2007年)
- 長方形を挿入するセルを選択します
- [挿入] メニューをクリックし、[図形] をクリックします。
- 次に、「最近使用した形」または「長方形」から長方形を選択します。
Aspose.Cells を使用
ワークシートに長方形を挿入するには、次のメソッドを使用できます。
このメソッドは、RectangleShape オブジェクトを返します。
次の例では、ワークシートに長方形を挿入する方法が示されています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the rectangle to the worksheet | |
sheet.Shapes.AddRectangle(2, 0, 2, 0, 100, 300); | |
//Save | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
上記のコードを実行すると、次の結果が得られます。
C# で Excel ワークシートに立方体を挿入する
キューブの形はBasic Shapesカテゴリに属しています。
Microsoft Excel(例: 2007年)
- キューブを挿入したいセルを選択します
- [挿入] メニューをクリックし、[図形] をクリックします。
- 次に、「基本形」からキューブを選択します
Aspose.Cells を使用
ワークシートにキューブを挿入するには、次のメソッドを使用できます。
このメソッドはShapeオブジェクトを返します。
次の例では、ワークシートにキューブを挿入する方法が示されています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the cube to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.Cube, 2, 0, 2, 0, 100, 300); | |
//Save.You can check your cube in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
上記のコードを実行すると、次の結果が得られます。
C# で Excel ワークシートに吹き出し四角矢印を挿入する
コールアウト四角矢印の形はBlock Arrowsカテゴリに属しています。
Microsoft Excel(例: 2007年)
- コールアウト四角矢印を挿入したいセルを選択します
- [挿入] メニューをクリックし、[図形] をクリックします。
- 次に、「ブロック矢印」からコールアウト四角矢印を選択します
Aspose.Cells を使用
ワークシートにコールアウト四角矢印を挿入するには、次のメソッドを使用できます。
このメソッドはShapeオブジェクトを返します。
次の例では、ワークシートにコールアウト四角矢印を挿入する方法が示されています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the callout quad arrow to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.QuadArrowCallout, 2, 0, 2, 0, 100, 100); | |
//Save | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
上記のコードを実行すると、次の結果が得られます。
C# で Excel ワークシートに掛け算記号を挿入する
乗算記号の形はEquation Shapesカテゴリに属しています。
Microsoft Excel(例: 2007年)
- 乗算記号を挿入したいセルを選択します
- [挿入] メニューをクリックし、[図形] をクリックします。
- その後、数式図形から乗算記号を選択します
Aspose.Cells を使用
次の方法を使用してワークシートに乗算記号を挿入できます。
このメソッドはShapeオブジェクトを返します。
次の例は、ワークシートに乗算記号を挿入する方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the multiplication sign to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.MathMultiply, 2, 0, 2, 0, 100, 100); | |
//Save.You can check your multiplication in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
上記のコードを実行すると、次の結果が得られます。
C#でExcelワークシートに多重ドキュメントを挿入する
多重ドキュメントの形状はフローチャートカテゴリに属しています。
Microsoft Excel(例: 2007年)
- 多重ドキュメントを挿入するセルを選択します
- [挿入] メニューをクリックし、[図形] をクリックします。
- その後、フローチャートから多重ドキュメントを選択します
Aspose.Cells を使用
次の方法を使用してワークシートに多重ドキュメントを挿入できます。
このメソッドはShapeオブジェクトを返します。
次の例は、ワークシートに多重ドキュメントを挿入する方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the multidocument to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.FlowChartMultidocument, 2, 0, 2, 0, 100, 100); | |
//Save | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
上記のコードを実行すると、次の結果が得られます。
C#でExcelワークシートに五角星を挿入する
五角星の形状は星とバナーカテゴリに属しています。
Microsoft Excel(例: 2007年)
- 五角星を挿入したいセルを選択します
- [挿入] メニューをクリックし、[図形] をクリックします。
- その後、星とバナーから五角星を選択します
Aspose.Cells を使用
この方法は Shape オブジェクトを返します。
このメソッドはShapeオブジェクトを返します。
上記のコードを実行すると、次の結果が得られます。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the Five-pointed star to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.Star5, 2, 0, 2, 0, 100, 100); | |
//Save.You can check your icon in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
上記のコードを実行すると、次の結果が得られます。
C#でExcelワークシートに思考バブルクラウドを挿入する
思考バブルクラウドの形状は吹き出しカテゴリに属しています。
Microsoft Excel(例: 2007年)
- 思考バブルクラウドを挿入したいセルを選択します
- [挿入] メニューをクリックし、[図形] をクリックします。
- 次に、吹き出し から思考バブルクラウドを選択します。
Aspose.Cells を使用
ワークシートに思考バブルクラウドを挿入するために次の方法を使用できます。
このメソッドはShapeオブジェクトを返します。
次の例は、ワークシートに思考バブルクラウドを挿入する方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the thought bubble cloud to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.CloudCallout, 2, 0, 2, 0, 100, 100); | |
//Save | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
上記のコードを実行すると、次の結果が得られます。