Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I bold the fonts of a specific row or cell in an Excel worksheet with C#?

I am exporting data from a List<> to excel. I want to make some specific rows and cells bold. I need to make some cell merged also.

Below is the code I am using.

try         {             Excel.Application application;             Excel.Workbook workBook;             Excel.Worksheet workSheet;             object misValue = System.Reflection.Missing.Value;              application = new Excel.ApplicationClass();             workBook = application.Workbooks.Add(misValue);             workSheet = (Excel.Worksheet)workBook.Worksheets.get_Item(1);              int i = 1;             workSheet.Cells[i, 2] = "MSS Close Sheet";                             i++;             workSheet.Cells[i, 2] = "MSS - " + dpsNoTextBox.Text;             i++;             workSheet.Cells[i, 2] = customerNameTextBox.Text;             i++;                             workSheet.Cells[i, 2] = "Opening Date : ";             workSheet.Cells[i, 3] = openingDateTextBox.Value.ToShortDateString();             i++;             workSheet.Cells[i, 2] = "Closing Date : ";             workSheet.Cells[i, 3] = closingDateTextBox.Value.ToShortDateString();             i++;             i++;             i++;              workSheet.Cells[i, 1] = "SL. No";             workSheet.Cells[i, 2] = "Month";             workSheet.Cells[i, 3] = "Amount Deposited";             workSheet.Cells[i, 4] = "Fine";             workSheet.Cells[i, 5] = "Cumulative Total";             workSheet.Cells[i, 6] = "Profit + Cumulative Total";             workSheet.Cells[i, 7] = "Profit @ " + profitRateComboBox.Text;             i++;                /////////////////////////////////////////////////////////             foreach (RecurringDeposit rd in RecurringDepositList)             {                 workSheet.Cells[i, 1] = rd.SN.ToString();                 workSheet.Cells[i, 2] = rd.MonthYear;                 workSheet.Cells[i, 3] = rd.InstallmentSize.ToString();                 workSheet.Cells[i, 4] = "";                 workSheet.Cells[i, 5] = rd.CumulativeTotal.ToString();                 workSheet.Cells[i, 6] = rd.ProfitCumulative.ToString();                 workSheet.Cells[i, 7] = rd.Profit.ToString();                 i++;             }             //////////////////////////////////////////////////////               ////////////////////////////////////////////////////////             workSheet.Cells[i, 2] = "Total (" + RecurringDepositList.Count + " months installment)";             workSheet.Cells[i, 3] = totalAmountDepositedTextBox.Value.ToString("0.00");             i++;              workSheet.Cells[i, 2] = "a) Total Amount Deposited";             workSheet.Cells[i, 3] = totalAmountDepositedTextBox.Value.ToString("0.00");             i++;              workSheet.Cells[i, 2] = "b) Fine";             workSheet.Cells[i, 3] = "";             i++;              workSheet.Cells[i, 2] = "c) Total Pft Paid";             workSheet.Cells[i, 3] = totalProfitPaidTextBox.Value.ToString("0.00");             i++;              workSheet.Cells[i, 2] = "Sub Total";             workSheet.Cells[i, 3] = (totalAmountDepositedTextBox.Value + totalProfitPaidTextBox.Value).ToString("0.00");             i++;              workSheet.Cells[i, 2] = "Deduction";             i++;              workSheet.Cells[i, 2] = "a) Excise Duty";             workSheet.Cells[i, 3] = "0";             i++;              workSheet.Cells[i, 2] = "b) Income Tax on Pft. @ " + incomeTaxPercentageTextBox.Text;             workSheet.Cells[i, 3] = "0";             i++;              workSheet.Cells[i, 2] = "c) Account Closing Charge ";             workSheet.Cells[i, 3] = closingChargeCommaNumberTextBox.Value.ToString("0.00");             i++;              workSheet.Cells[i, 2] = "d) Outstanding on BAIM(FO) ";             workSheet.Cells[i, 3] = baimFOLowerTextBox.Value.ToString("0.00");             i++;              workSheet.Cells[i, 2] = "Total Deduction ";             workSheet.Cells[i, 3] = (incomeTaxDeductionTextBox.Value + closingChargeCommaNumberTextBox.Value + baimFOTextBox.Value).ToString("0.00");             i++;              workSheet.Cells[i, 2] = "Client Paid ";             workSheet.Cells[i, 3] = customerPayableNumberTextBox.Value.ToString("0.00");             i++;              workSheet.Cells[i, 2] = "e) Current Balance ";             workSheet.Cells[i, 3] = currentBalanceCommaNumberTextBox.Value.ToString("0.00");             workSheet.Cells[i, 5] = "Exp. Pft paid on MSS A/C(PL67054)";             workSheet.Cells[i, 6] = plTextBox.Value.ToString("0.00");             i++;              workSheet.Cells[i, 2] = "e) Total Paid ";             workSheet.Cells[i, 3] = customerPayableNumberTextBox.Value.ToString("0.00");             workSheet.Cells[i, 5] = "IT on Pft (BDT16216)";             workSheet.Cells[i, 6] = incomeTaxDeductionTextBox.Value.ToString("0.00");             i++;              workSheet.Cells[i, 2] = "Difference";             workSheet.Cells[i, 3] = (currentBalanceCommaNumberTextBox.Value - customerPayableNumberTextBox.Value).ToString("0.00");             workSheet.Cells[i, 5] = "Account Closing Charge";             workSheet.Cells[i, 6] = closingChargeCommaNumberTextBox.Value;             i++;              ///////////////////////////////////////////////////////////////              workBook.SaveAs("D:\\" + dpsNoTextBox.Text.Trim() + "-" + customerNameTextBox.Text.Trim() + ".xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);             workBook.Close(true, misValue, misValue);             application.Quit();              releaseObject(workSheet);             releaseObject(workBook);             releaseObject(application); 

The sheet should look like this:

like image 357
user1665707 Avatar asked Apr 24 '13 08:04

user1665707


People also ask

How do I bold the first row in Excel in C#?

You must pass value of row 0 so that first row of your excel sheets have column headers with bold font size. Just change DataColumnCollection to your columns name and change col. Caption to specific column name. You may do this to cell of excel sheet you want bold.

How do you bold a cell?

To use the Bold, Italic, and Underline commands: Select the cell(s) you want to modify. Click the Bold (B), Italic (I), or Underline (U) command on the Home tab. In our example, we'll make the selected cells bold. The selected style will be applied to the text.


1 Answers

How to Bold entire row 10 example:

workSheet.Cells[10, 1].EntireRow.Font.Bold = true;     

More formally:

Microsoft.Office.Interop.Excel.Range rng = workSheet.Cells[10, 1] as Xl.Range; rng.EntireRow.Font.Bold = true; 

How to Bold Specific Cell 'A10' for example:

workSheet.Cells[10, 1].Font.Bold = true; 

Little more formal:

int row = 1; int column = 1;  /// 1 = 'A' in Excel  Microsoft.Office.Interop.Excel.Range rng = workSheet.Cells[row, column] as Xl.Range; rng.Font.Bold = true; 
like image 127
Automate This Avatar answered Sep 21 '22 00:09

Automate This