作成日: 2023/02/02 最終更新日: 2023/02/02
文書種別
技術情報
詳細
はい、シートに連結したいデータテーブルと同数のテーブルを作成することで実現可能です。
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データ1の作成
Dim dt1 As DataTable = New DataTable("Test1")
dt1.Columns.Add("ID", GetType(Double))
dt1.Columns.Add("Name", GetType(String))
For i = 0 To 9
dt1.Rows.Add(i, $"AA{i}")
Next
dt1.AcceptChanges()
' DataTableの内、特定のフィールドのみを連結する
Dim sheet1 As IWorksheet = FpSpread1.AsWorkbook().ActiveSheet
Dim table1 As ITable = sheet1.Range("A1:D2").CreateTable(True)
table1.AutoGenerateColumns = False
table1.TableColumns(0).DataField = "ID"
table1.TableColumns(2).DataField = "Name"
table1.DataSource = dt1
table1.TableColumns(1).Header.Text = "非連結"
table1.TableColumns(3).Header.Text = "非連結"
' データ2の作成
Dim dt2 As DataTable = New DataTable("Test2")
dt2.Columns.Add("No.", GetType(String))
dt2.Columns.Add("s_Name", GetType(String))
For i = 0 To 9
dt2.Rows.Add($"000{i}", $"{ChrW((65 + i))}")
Next
// DataTable全体を連結する
dt2.AcceptChanges()
Dim table2 As ITable = sheet1.Range("A15:A16").CreateTable(True)
table2.TableStyleName = "TableStyleMedium3"
table2.DataSource = dt2
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
// データ1の作成
DataTable dt1 = new DataTable("Test1");
dt1.Columns.Add("ID", typeof(double));
dt1.Columns.Add("Name", typeof(string));
for (var i = 0; i <= 9; i++)
dt1.Rows.Add( i, $"AA{i}");
dt1.AcceptChanges();
// DataTableの内、特定のフィールドのみを連結する
IWorksheet sheet1 = fpSpread1.AsWorkbook().ActiveSheet;
ITable table1 = sheet1.Range("A1:D2").CreateTable(true);
table1.AutoGenerateColumns = false;
table1.TableColumns[0].DataField = "ID";
table1.TableColumns[2].DataField = "Name";
table1.DataSource = dt1;
table1.TableColumns[1].Header.Text = "非連結";
table1.TableColumns[3].Header.Text = "非連結";
// データ2の作成
DataTable dt2 = new DataTable("Test2");
dt2.Columns.Add("No.", typeof(string));
dt2.Columns.Add("s_Name", typeof(string));
for (var i = 0; i <= 9; i++)
dt2.Rows.Add($"000{i}", $"{(char)(65 + i)}");
dt2.AcceptChanges();
// DataTable全体を連結する
ITable table2 = sheet1.Range("A15:A16").CreateTable(true);
table2.TableStyleName = "TableStyleMedium3";
table2.DataSource = dt2;
}
<実行イメージ>