2017-10-12 26 views
0

我想從我的WPF C#應用程序發送布爾值到Xcel文件,但內容顯示爲'TRUE'和'FALSE'作爲文本而不是複選框。如何使用布爾值作爲Excel中的複選框值C#

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,則可能會出現這種情況。 (但是您需要在運行程序的計算機上安裝Office)。 請參閱:

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

如果這是不能接受的,它應該用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

你也許能夠找出代碼,如果你使用的OpenXML使用OpenXML的生產力工具。在那裏你可以創建一個帶有複選框的excel,並使用反射代碼按鈕來生成OpenXml代碼來使用,儘管找到你需要使用的特定代碼並理解如何正確地調整它可能仍然是一個挑戰。

相關問題