How to Change Row Height for Exported Excel Sheet in WF DataGrid?
Change the row height
You can change the row height of the exported excel sheet using Worksheets.UsedRange.RowHeight property.
C#
private void ExportToExcel_Click(object sender, System.EventArgs e)
{
ExcelExportingOptions options = new ExcelExportingOptions();
var excelEngine = sfDataGrid.ExportToExcel(sfDataGrid.View, options);
var workBook = excelEngine.Excel.Workbooks[0];
//Set row height.
workBook.Worksheets[0].UsedRange.RowHeight = 30;
SaveFileDialog sfd = new SaveFileDialog
{
FilterIndex = 2,
Filter = "Excel 97 to 2003 Files(*.xls)|*.xls|Excel 2007 to 2010 Files(*.xlsx)|*.xlsx",
FileName = "Book1"
};
if (sfd.ShowDialog() == DialogResult.OK)
{
using (Stream stream = sfd.OpenFile())
{
if (sfd.FilterIndex == 1)
workBook.Version = ExcelVersion.Excel97to2003;
else
workBook.Version = ExcelVersion.Excel2010;
workBook.SaveAs(stream);
}
//Message box confirmation to view the created spreadsheet.
if (MessageBox.Show("Do you want to view the workbook?", "Workbook has been created", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
//Launching the Excel file using the default Application.[MS Excel Or Free ExcelViewer]
System.Diagnostics.Process.Start(sfd.FileName);
}
}
}
VB
Private Sub ExportToExcel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button2.Click
Dim options As New ExcelExportingOptions()
Dim excelEngine = sfDataGrid.ExportToExcel(sfDataGrid.View, options)
Dim workBook = excelEngine.Excel.Workbooks(0)
'Set row height.
workBook.Worksheets(0).UsedRange.RowHeight = 30
Dim sfd As SaveFileDialog = New SaveFileDialog With {.FilterIndex = 2, .Filter = "Excel 97 to 2003 Files(*.xls)|*.xls|Excel 2007 to 2010 Files(*.xlsx)|*.xlsx", .FileName = "Book1"}
If sfd.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Using stream As Stream = sfd.OpenFile()
If sfd.FilterIndex = 1 Then
workBook.Version = ExcelVersion.Excel97to2003
Else
workBook.Version = ExcelVersion.Excel2010
End If
workBook.SaveAs(stream)
End Using
'Message box confirmation to view the created spreadsheet.
If MessageBox.Show("Do you want to view the workbook?", "Workbook has been created", MessageBoxButtons.OKCancel) = System.Windows.Forms.DialogResult.OK Then
'Launching the Excel file using the default Application.[MS Excel Or Free ExcelViewer]
System.Diagnostics.Process.Start(sfd.FileName)
End If
End If
End Sub
You can use AutofitRows method to adjust the row height of the exported excel sheet based on the content.
C#
private void ExportToExcel_Click(object sender, System.EventArgs e)
{
ExcelExportingOptions options = new ExcelExportingOptions();
var excelEngine = sfDataGrid.ExportToExcel(sfDataGrid.View, options);
var workBook = excelEngine.Excel.Workbooks[0];
//Row height will be set based on the content.
workBook.Worksheets[0].UsedRange.AutofitRows();
SaveFileDialog sfd = new SaveFileDialog
{
FilterIndex = 2,
Filter = "Excel 97 to 2003 Files(*.xls)|*.xls|Excel 2007 to 2010 Files(*.xlsx)|*.xlsx",
FileName = "Book1"
};
if (sfd.ShowDialog() == DialogResult.OK)
{
using (Stream stream = sfd.OpenFile())
{
if (sfd.FilterIndex == 1)
workBook.Version = ExcelVersion.Excel97to2003;
else
workBook.Version = ExcelVersion.Excel2010;
workBook.SaveAs(stream);
}
//Message box confirmation to view the created spreadsheet.
if (MessageBox.Show("Do you want to view the workbook?", "Workbook has been created", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
//Launching the Excel file using the default Application.[MS Excel Or Free ExcelViewer]
System.Diagnostics.Process.Start(sfd.FileName);
}
}
}
VB
Private Sub ExportToExcel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button2.Click
Dim options As New ExcelExportingOptions()
Dim excelEngine = sfDataGrid.ExportToExcel(sfDataGrid.View, options)
Dim workBook = excelEngine.Excel.Workbooks(0)
'Row height will be set based on the content.
workBook.Worksheets(0).UsedRange.AutofitRows()
Dim sfd As SaveFileDialog = New SaveFileDialog With {.FilterIndex = 2, .Filter = "Excel 97 to 2003 Files(*.xls)|*.xls|Excel 2007 to 2010 Files(*.xlsx)|*.xlsx", .FileName = "Book1"}
If sfd.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Using stream As Stream = sfd.OpenFile()
If sfd.FilterIndex = 1 Then
workBook.Version = ExcelVersion.Excel97to2003
Else
workBook.Version = ExcelVersion.Excel2010
End If
workBook.SaveAs(stream)
End Using
'Message box confirmation to view the created spreadsheet.
If MessageBox.Show("Do you want to view the workbook?", "Workbook has been created", MessageBoxButtons.OKCancel) = System.Windows.Forms.DialogResult.OK Then
'Launching the Excel file using the default Application.[MS Excel Or Free ExcelViewer]
System.Diagnostics.Process.Start(sfd.FileName)
End If
End If
End Sub
Sample: How to change the row height for the exported excel sheet?
Reference link: https://help.syncfusion.com/windowsforms/datagrid/exporttoexcel
I hope you enjoyed learning about how to change the row height for the exported excel sheet in WinForms DataGrid.
You can refer to our WinForms GridControl feature tour page to know about its other groundbreaking feature representations. You can also explore our WinForms GridControl documentation to understand how to create and manipulate data.
For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.
If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!