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

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

2个回答

我不太了解你的需求,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);
                    }
                }
            }
        }
huasa2239635117
huasa2239635117 回复D_Altman: 你能详细说说应用场景和你的需求吗(公司让你干啥和你要解决的啥问题)
3 年多之前 回复
D_Altman
D_Altman 要是我只要导出 数据中的 某些数据呢
3 年多之前 回复
D_Altman
D_Altman 网页的
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐