2017-10-12 8 views
0

WPF C#アプリケーションからXcelファイルにブール値を送信しようとしていますが、コンテンツがチェックボックスの代わりにテキストとして 'TRUE'と 'FALSE'C#のExcelのブール値をチェックボックスの値として使用する方法

C#モデル:

public class ExcelModel 
{ 
    public string ID { get; set; } 
    public string Title { get; set; } 
    public bool IsHotel { get; set; } 

} 

C#のコード:

var dataList = new List<ExcelModel>() { new ExcelModel{ID = "1", Title = "Test1", IsHotel = True} };  

var workbook = new XLWorkbook();  //creates the workbook 
var wsDetailedData = workbook.AddWorksheet("Test"); //creates the worksheet with sheetname 'data' 

wsDetailedData.Cell(1, 1).InsertTable(dataList); //inserts the data to cell A1 including default column name 

wsDetailedData.Columns().AdjustToContents(); 

// wsDetailedData.Column. 
wsDetailedData.Rows().AdjustToContents(); 
workbook.SaveAs(MainWindow.appRoot + @"test.xlsx"); //saves the workbook 
+1

'dataList'がどのように宣言され、データが格納されているか表示してください。 – mjwills

+2

https://www.google.com.au/search?q=c%23+add+checkbox+to+excel+cellのいずれかを試しましたか?彼らは働いたのですか? – mjwills

+0

'dataList'の宣言を追加しました。列全体をチェックボックスとしてフォーマットするXLWorkbookクラスに関連するものは見つかりませんでした。 – Decoder94

答えて

0

これは、あなたが使用しているように見えるClosedXMLライブラリーからはできません。

Microsoft.Office.Interop.Excelを使用してExcelを作成することは可能です。 (しかし、プログラムを実行しているコンピュータにオフィスをインストールする必要があります)。 を参照してください:

https://stackoverflow.com/a/8936775/994679

をそれが受け入れられないなら、それは代わりのOpenXmlを使用して可能であるべきです。しかし、あなたは本当にあなたのために仕事をしていたでしょうし、私はそれを行う簡単な例を見つけることができません。ここでコンボボックスを追加する男の例です:あなたは生産性のOpenXmlツールを使用してのOpenXmlを使用している場合、コードを見つけることができるかもしれない

https://social.msdn.microsoft.com/Forums/vstudio/en-US/4489302b-57a0-434f-b7ed-d8bb6479edf0/how-to-insert-a-combobox-in-a-spreadsheet-by-code-behind-c-using-open-xml-format-sdk?forum=oxmlsdk

。そこでは、チェックボックスを使ってExcelを作成し、Reflect Codeボタンを使用してOpenXmlコードを生成することができますが、使用する必要のある特定の生成コードを見つけて、適切に適応させる方法を理解するのは難しいでしょう。

関連する問題