XtraGrid导出PDF时中文乱码

本文解决了XtraGrid导出PDF时中文乱码的问题。通过设置默认字体为宋体或新細明體,确保了PDF文件中的中文能正常显示。

问题:XtraGrid直接导出PDF和打印预览保存为PDF文件后,导出的PDF文件里中文可能会乱码。

 

解决方法:

在main()中加入下面代码即可

 

C#

简体中文指定默认字体为宋体,9号

繁体中文指定默认字体为新細明體,9号

 

 

 

xtragrid是DevExpress公司开发的一个用于WinForms开发的数据网格组件,支持数据绑定、编辑、排序、过滤、分组等常见功能。在导出xls单元格底色的场景中,我们需要对xtragrid中的单元格颜色进行提取和转换,然后将其写入到Excel文件中。具体实现的步骤如下: 1. 首先,我们需要遍历xtragrid中的所有单元格,获取其底色信息,一般可以通过CellStyle属性来实现。 2. 对于底色信息的提取,我们可以使用ColorTranslator中提供的FromWin32或FromHtml等静态方法,将xtragrid中的颜色转换为Excel支持的RGB格式。 3. 然后,我们利用Excel Interop或第三方库(如EPPlus)向Excel文件中写入底色信息。具体实现可以参考以下代码片段: ```C# using DevExpress.XtraGrid.Columns; using DevExpress.XtraGrid.Views.Grid; using System.Drawing; using System.Runtime.InteropServices; using Excel = Microsoft.Office.Interop.Excel; ... private void ExportToExcel(GridControl grid, string filename) { // create Excel Application Excel.Application app = new Excel.Application(); app.Visible = false; // create new Workbook Excel.Workbook workbook = app.Workbooks.Add(Type.Missing); // create new Worksheet Excel.Worksheet worksheet = workbook.Sheets[1]; worksheet.Name = "Sheet1"; // export column headers for (int i = 0; i < grid.Columns.Count; i++) { GridColumn column = grid.Columns[i]; worksheet.Cells[1, i + 1] = column.Caption; } // export cell values and background colors GridView view = (GridView)grid.MainView; for (int i = 0; i < view.RowCount; i++) { for (int j = 0; j < grid.Columns.Count; j++) { GridColumn column = grid.Columns[j]; object value = view.GetRowCellValue(i, column); Excel.Range cell = worksheet.Cells[i + 2, j + 1]; cell.Value2 = value; Color color = view.GetRowCellAppearance(i, column).BackColor; if (!color.IsEmpty) { int rgb = ColorTranslator.ToWin32(color); cell.Interior.Color = rgb; } } } // save and close Workbook workbook.SaveAs(filename, Excel.XlFileFormat.xlWorkbookNormal); workbook.Close(false, Type.Missing, Type.Missing); // release resources Marshal.ReleaseComObject(worksheet); Marshal.ReleaseComObject(workbook); app.Quit(); Marshal.ReleaseComObject(app); } ``` 以上代码主要实现了从xtragrid导出Excel文件的功能,其中底色信息被正确地写入到了Excel文件中。需要注意的是,需要在导出Excel文件之前将Excel Interop或第三方库的引用添加到项目中,且Excel Interop在不同版本的Office中可能有所差异,开发者需要了解清楚其兼容性和使用方法。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值