D_Altman 2017-07-27 06:09 采纳率: 0%
浏览 689

asp.net项目 需要导excel表格。如何实现

我这边 后台 有很多数据,然后需要使用excel 点击导出这些数据。哪位老哥 有什么链接教程。或者是代码什么的,帮老弟一把。老弟才出来工作不久。还是个菜鸡

  • 写回答

2条回答 默认 最新

  • huasa2239635117 2017-07-27 06:21
    关注

    我不太了解你的需求,asp.net的网页需求吗,还是Winform项目,我这有一段用GdidControl为工具导出Excel的方法,你可以参考下

    public static void AddExportToExcelFunctionToGridControl(DevExpress.XtraGrid.GridControl gridControl)
            {
                ContextMenuStrip contextMenuStrip;
                if (gridControl.ContextMenuStrip == null)
                {
    
                    contextMenuStrip = new ContextMenuStrip
                    {
    
                        Items = { { 
                            "导出到Excel",
                            Resources.ExportToExcel_16x16   ,
                            new EventHandler(OnExportToExcel)
                        } }
                    };
                    contextMenuStrip.Items[0].Tag = gridControl;
                    gridControl.ContextMenuStrip = contextMenuStrip;
                }
                else
                {
                    ToolStripItem[] array = new ToolStripItem[gridControl.ContextMenuStrip.Items.Count];
                    gridControl.ContextMenuStrip.Items.CopyTo(array, 0);
                    string text = string.Empty;
                    if (gridControl.Tag != null)
                        text = string.Format("{0}导出到Excel", gridControl.Tag.ToString());
                    else
                        text = string.Format("{0}导出到Excel", gridControl.Name);
                    if (!array.ToList().Exists(t => t.Text.Equals(text)))
                    {
                        contextMenuStrip = gridControl.ContextMenuStrip;
    
                        contextMenuStrip.Items.Add(text, Resources.ExportToExcel_16x16, new EventHandler(OnExportToExcel));
                        contextMenuStrip.Items[(int)(contextMenuStrip.Items.Count - 1)].Tag = gridControl;
                        gridControl.ContextMenuStrip = contextMenuStrip;
                    }
    
                }
            }
      private static void OnExportToExcel(object sender, EventArgs e)
            {
                ToolStripItem item = sender as ToolStripItem;
                if ((item != null) && (item.Tag != null))
                {
                    DevExpress.XtraGrid.GridControl control = item.Tag as DevExpress.XtraGrid.GridControl;
                    if (control != null)
                    {
                        SaveFileDialog dialog = new SaveFileDialog();
                        dialog.Filter = string.Format("Excel 2007 工作簿(*.xlsx)|*.xlsx|Excel 2010工作簿(*.xlsx)|*.xlsx|Excel 97-2003 工作簿(*.xls)|*.xls");
                        dialog.DefaultExt = string.Format("Excel 2007 工作簿(*.xlsx)|*.xlsx");
                        if (dialog.ShowDialog() == DialogResult.OK)
                        {
                            using (FileStream stream = new FileStream(dialog.FileName, FileMode.Create, FileAccess.ReadWrite, FileShare.None))
                            {
                                try
                                {
                                    control.ExportToXlsx(stream);
                                }
                                catch (Exception ex)
                                {
                                    MessageBox.Show(string.Format("导出Excel未成功!原因是:{0}", ex.Message), "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    return;
                                }
                            }
                            MessageBox.Show("导出Excel成功!", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        }
                    }
                }
            }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流