概要
NetOffice において Excel の1つのセルの横幅は「54」、縦幅は「13.5」で扱われる
using NetOffice.ExcelApi; using NetOffice.ExcelApi.Enums; public static class Program { private static void Main() { using ( var application = new Application() ) { var workBook = application.Workbooks.Add(); var workSheet = workBook.Worksheets[ 1 ] as Worksheet; var cells = workSheet.Cells; // cells[ 行番号, 列番号 ] で指定 cells[ 1, 1 ].Value = "名前"; cells[ 1, 2 ].Value = "種族値"; cells[ 2, 1 ].Value = "フシギダネ"; cells[ 2, 2 ].Value = "318"; cells[ 3, 1 ].Value = "フシギソウ"; cells[ 3, 2 ].Value = "405"; cells[ 4, 1 ].Value = "フシギバナ"; cells[ 4, 2 ].Value = "525"; cells[ 5, 1 ].Value = "ヒトカゲ"; cells[ 5, 2 ].Value = "309"; cells[ 6, 1 ].Value = "リザード"; cells[ 6, 2 ].Value = "405"; cells[ 7, 1 ].Value = "リザードン"; cells[ 7, 2 ].Value = "534"; const double cellWidth = 54; // セルの横幅 const double cellHeight = 13.5; // セルの縦幅 var chartObjects = workSheet.ChartObjects() as ChartObjects; var chartObject = chartObjects.Add( cellWidth * 3, cellHeight * 1, 300, 250 ); var chart = chartObject.Chart; chart.ChartType = XlChartType.xlLine; chart.HasLegend = false; // 凡例を非表示にする chart.SetSourceData( workSheet.Range( "A1:B7" ) ); // 絶対パスで保存先を指定 workBook.SaveAs( @"D:\example.xlsx" ); application.Quit(); } } }
上記のように
const double cellWidth = 54; // セルの横幅 const double cellHeight = 13.5; // セルの縦幅 var chartObject = chartObjects.Add( cellWidth * 3, cellHeight * 1, 300, 250 );
挿入するグラフを位置を指定すると
このようにグラフが挿入される