乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>DevExpress</em> GirdControl 导出<em>EXCE

<em>DevExpress</em> GirdControl 导出<em>EXCE

作者:乔山办公网日期:

返回目录:excel表格制作


使用插入[对象]的方法比较简单,而且可以即时更改编辑excel
方法:单击 [ 插入]---[ 文本 ]---[ 对象 ]
出现[对话框] ---选择[ 由文件创建 ] --- 选择相关excel --确定插入

/// <summary>
/// 导出到Excel
/// </summary>
/// <param name="gridControl">GridControl</param>
/// <param name="fileNameTitle">导出到Excel的Sheet文件名称</param>
public static void ExportToExcel(this GridControl gridControl, string fileNameTitle)
{
var fileName = SaveAs(fileNameTitle);
XlsExportOptions options = new XlsExportOptions();
options.Suppress256ColumnsWarning = true;
options.Suppress65536RowsWarning = true;
options.TextExportMode = TextExportMode.Text;
options.SheetName = fileNameTitle;
var gridView = (GridView)gridControl.Views[0];
gridView.AppearancePrint.Row.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;
gridView.OptionsPrint.AutoWidth = false;
gridView.AppearancePrint.Row.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
gridControl.ExportToXls(fileName, options);
if (MessageCommon.ShowQueInf("保存成功,是否7a64e4b893e5b19e363打开文件?") == DialogResult.Yes)
System.Diagnostics.Process.Start(fileName);//打开指定路径下的文件
}

我也遇见这个问题了 网上找了好半天!最后的结果是 

XtraReport 的 XRTable  不能合并行(XRTableRow)

最多可以实现合并列的效果但是没有意义 只不过是吧 XRTableRow 删除一个列

我自己的解决办法是创建多个 XRTable  拼成一个大XRTable的效果

这样就可以实现

有一个小小的问题是 XRTable  和 XRTable   之间的位置要定义好  

也可以代码控制 

/// <summary>

/// 获取XRTable位置

/// </summary>

/// <param name="p_info">Page容器(只存在XRTable才有效)</param>

/// <returns>得到位置</returns>

private Point GetTable(PageHeaderBand p_info)

 {

            Point point = new Point();//XRTable.Location(坐标e79fa5e98193e4b893e5b19e365位置(类型是Point ))

            point.X = 0;//默认位置是纸张减去边距的位置(0就可以了)

            point.Y = 0;//默认是XRTable的高度如果设置高了会出现空白(所以一直不用设置保持0)

            foreach (XRTable item in p_info.Controls)

            {

                //将Page容器里的所有XRTable宽度叠加就是你下一个 XRTable的位置

         //根据情况减去 边框宽度

                point.X += (item.Width-3);            

            }

            return point;

        }

得到了坐标位置后在加入到容器中就可以了

CreateTableHeader 方法只是举例 请勿直接使用

private PageHeaderBand CreateTableHeader()

 {

PageHeaderBand new_PageHeaderBand = new PageHeaderBand();

XRTable tableHeader = new XRTable();

XRTableRow headerRowOne = new XRTableRow ();//一级表头

XRTableRow headerRowTwo = new XRTableRow ();//二级表头

tableHeader.Rows.Add(headerRowOne);

tableHeader.Rows.Add(headerRowTwo);

tableHeader.Location = GetTable(new_PageHeaderBand);

new_PageHeaderBand.Controls.Add(tableHeader);

}



private void barExport_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "导出Excel";
saveFileDialog.Filter = "Excel文件(*.xls)|*.xls";
DialogResult dialogResult = saveFileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions();
gridControl1.ExportToXls(saveFileDialog.FileName);
DevExpress.XtraEditors.XtraMessageBox.Show("保存成e799bee5baa6e59b9ee7ad94363功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); }
}

相关阅读

  • <em>DevExpress</em> GirdControl 导出<em>EXCE

  • 乔山办公网excel表格制作
  • 使用插入[对象]的方法比较简单百,而且可以即时度更改编辑excel方法:单击 [ 插入专]---[ 文本 ]---[ 对象 ] 出现[对话框] ---选择[ 由文件创建 ] --- 选择相关属excel --确定插入DevExpress X
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网