コード
Dim workbook = New XLWorkbook Dim ws = workbook.Worksheets.Add("データ型") Dim co = 2 Dim ro = 1 ro += 1 ws.Cell(ro, co).Value = "テキスト:" ws.Cell(ro, co + 1).Value = "Hello World." ro += 1 ws.Cell(ro, co).Value = "日付:" ws.Cell(ro, co + 1).Value = New DateTime(2010, 9, 2) ro += 1 ws.Cell(ro, co).Value = "日時:" ws.Cell(ro, co + 1).Value = New DateTime(2010, 9, 2, 13, 45, 22) ro += 1 ws.Cell(ro, co).Value = "ブール:" ws.Cell(ro, co + 1).Value = True ro += 1 ws.Cell(ro, co).Value = "数値:" ws.Cell(ro, co + 1).Value = 123.45 ro += 1 ws.Cell(ro, co).Value = "タイムスパン:" ws.Cell(ro, co + 1).Value = New TimeSpan(33, 45, 22) ro += 1 ro += 1 ws.Cell(ro, co).Value = "明示的テキスト:" ws.Cell(ro, co + 1).Value = "'Hello World." ro += 1 ws.Cell(ro, co).Value = "テキストとして入力した日付:" ws.Cell(ro, co + 1).Value = "'" + New DateTime(2010, 9, 2).ToString ro += 1 ws.Cell(ro, co).Value = "テキストとして入力した日時:" ws.Cell(ro, co + 1).Value = "'" + New DateTime(2010, 9, 2, 13, 45, 22).ToString ro += 1 ws.Cell(ro, co).Value = "テキストとして入力したブール:" ws.Cell(ro, co + 1).Value = "'" + True.ToString ro += 1 ws.Cell(ro, co).Value = "テキストとして入力した数値:" ws.Cell(ro, co + 1).Value = "'123.45" ro += 1 ws.Cell(ro, co).Value = "テキストとして入力したタイムスパン:" ws.Cell(ro, co + 1).Value = "'" + New TimeSpan(33, 45, 22).ToString ro += 1 ro += 1 ws.Cell(ro, co).Value = "データ型の変更:" ro += 1 ro += 1 ws.Cell(ro, co).Value = "日付からテキストへ:" ws.Cell(ro, co + 1).Value = New DateTime(2010, 9, 2) ws.Cell(ro, co + 1).DataType = XLDataType.Text '元記事の XLCellValues は ClosedXML のアップデートで XLDataType に変更された(by エレン・イースト) ro += 1 ws.Cell(ro, co).Value = "日時からテキストへ:" ws.Cell(ro, co + 1).Value = New DateTime(2010, 9, 2, 13, 45, 22) ws.Cell(ro, co + 1).DataType = XLDataType.Text ro += 1 ws.Cell(ro, co).Value = "ブールからテキストへ:" ws.Cell(ro, co + 1).Value = True ws.Cell(ro, co + 1).DataType = XLDataType.Text ro += 1 ws.Cell(ro, co).Value = "数値からテキストへ:" ws.Cell(ro, co + 1).Value = 123.45 ws.Cell(ro, co + 1).DataType = XLDataType.Text ro += 1 ws.Cell(ro, co).Value = "タイムスパンからテキストへ:" ws.Cell(ro, co + 1).Value = New TimeSpan(33, 45, 22) ws.Cell(ro, co + 1).DataType = XLDataType.Text ro += 1 ws.Cell(ro, co).Value = "テキストから日付へ:" ws.Cell(ro, co + 1).Value = "'" + New DateTime(2010, 9, 2).ToString ws.Cell(ro, co + 1).DataType = XLDataType.DateTime ro += 1 ws.Cell(ro, co).Value = "テキストから日時へ:" ws.Cell(ro, co + 1).Value = "'" + New DateTime(2010, 9, 2, 13, 45, 22).ToString ws.Cell(ro, co + 1).DataType = XLDataType.DateTime ro += 1 ws.Cell(ro, co).Value = "テキストからブールへ:" ws.Cell(ro, co + 1).Value = "'" + True.ToString ws.Cell(ro, co + 1).DataType = XLDataType.Boolean ro += 1 ws.Cell(ro, co).Value = "テキストから数値へ:" ws.Cell(ro, co + 1).Value = "'123.45" ws.Cell(ro, co + 1).DataType = XLDataType.Number ro += 1 ws.Cell(ro, co).Value = "テキストからタイムスパンへ:" ws.Cell(ro, co + 1).Value = "'" + New TimeSpan(33, 45, 22).ToString ws.Cell(ro, co + 1).DataType = XLDataType.TimeSpan ro += 1 ro += 1 ws.Cell(ro, co).Value = "書式指定された日付からテキストへ:" ws.Cell(ro, co + 1).Value = New DateTime(2010, 9, 2) ws.Cell(ro, co + 1).Style.DateFormat.Format = "yyyy-MM-dd" ws.Cell(ro, co + 1).DataType = XLDataType.Text ro += 1 ws.Cell(ro, co).Value = "書式指定された数値からテキストへ:" ws.Cell(ro, co + 1).Value = 12345.6789 ws.Cell(ro, co + 1).Style.NumberFormat.Format = "#,##0.00" ws.Cell(ro, co + 1).DataType = XLDataType.Text ro += 1 ro += 1 ws.Cell(ro, co).Value = "空のテキスト:" ws.Cell(ro, co + 1).Value = 12345.6789 ws.Cell(ro, co + 1).Style.NumberFormat.Format = "#,##0.00" ws.Cell(ro, co + 1).DataType = XLDataType.Text ws.Cell(ro, co + 1).Value = "" ro += 1 'インライン文字列の使用(ほとんどのユーザーには不要な機能) ' 'デフォルトでは、すべてのセル内の文字列は複数のセルから '参照(共有)できるように保存されます。 '(複数のセルが同一のテキストを含むとき、そのセルの数だけ 'テキストを保存するのではなく、1つのテキストのみを '保存して複数のセルからそのインデックスを参照する) '.ShareString プロパティに False を設定するとこの機能を無効にできます。 ro += 1 ws.Cell(ro, co).Value = "インライン文字列:" Dim cell = ws.Cell(ro, co + 1) cell.Value = "非共有" cell.ShareString = False 'ワークブックのすべての共有文字列を参照するには次のメソッドを使用します。 'workbook.GetSharedStrings 'ClosedXML 0.94.2 においてこのメソッドは無効のようです。by エレン・イースト 'コンテンツが日本語の場合は日本語フォントにしておかないと AdjustToContents が正しく動作しない ws.Style.Font.FontName = "游ゴシック"; ws.Columns(2, 3).AdjustToContents workbook.SaveAs("D:\test\DataTypes.xlsx")
実行結果