swejet 发表于 2014-12-6 11:29:00

关于使用SaveExcel的时候报错

在导出时使用SaveExcel报错

报错内容如下
{System.NullReferenceException: 未将对象引用设置到对象的实例。
   位于 GrapeCity.Windows.SpreadSheet.UI.GcSpreadSheet.SaveExcel(Stream stream, ExcelFileFormat format, ExcelSaveFlags saveFlags, String password)
   位于 GrapeCity.Windows.SpreadSheet.UI.GcSpreadSheet.SaveExcel(Stream stream, ExcelFileFormat format, ExcelSaveFlags saveFlags)
   位于 Numpod.App.DX.ViewModels.MainPageVM.SleadingOutCommand_Execute(Object param)
   位于 Numpod.App.DX.Commands.RelayCommand`1.Execute(Object parameter)
   位于 DevExpress.Xpf.Bars.BarItem.ExecuteCommand()
   位于 DevExpress.Xpf.Bars.BarItem.<>c__DisplayClass5c.<OnItemClick>b__5b()
   位于 DevExpress.Xpf.Bars.BarItem.OnItemClick(BarItemLink link)
   位于 DevExpress.Xpf.Bars.BarItemLink.OnClick()
   位于 DevExpress.Xpf.Bars.BarItemLinkControl.OnClick()
   位于 DevExpress.Xpf.Bars.BarButtonItemLinkControl.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   位于 System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
   位于 MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName, UInt32 flags)}

swejet 发表于 2014-12-6 11:31:00

我的代码如下

swejet 发表于 2014-12-6 11:33:00

之前一直都好使,最近就不好使了

iceman 发表于 2014-12-8 16:38:00

回复 3楼swejet的帖子

我们在线Demo用的就是以下代码,导出正常:

private void SaveFile(object sender, RoutedEventArgs e)
      {
            SaveFileDialog saveFileDialog = new SaveFileDialog();
            saveFileDialog.Filter = &quot;Excel File (.xls,.xlsx)|*.xls; *.xlsx&quot;;
            saveFileDialog.FilterIndex = 1;
            bool? userClickOk = saveFileDialog.ShowDialog();
            if (userClickOk == true)
            {
                var stream = saveFileDialog.OpenFile();
                var fileName = saveFileDialog.SafeFileName;
                var fileFormat = ExcelFileFormat.XLS;
                if (fileName.EndsWith(&quot;.xlsx&quot;))
                  fileFormat = ExcelFileFormat.XLSX;
                else
                  fileFormat = ExcelFileFormat.XLS;
   
                this.gcSpreadSheet1.SaveExcel(stream, fileFormat, GetSaveFlag());

                stream.Close();
            }


Demo链接:
http://demo.gcpowertools.com.cn/spread/silverlight/controlexplorer/Index.html#ExcelIE/ExcelIE

如果您新建立一个工程,去除 Dev 的控件,只拖拽 Spread 测试,还会出现这个问题吗?

swejet 发表于 2014-12-10 18:59:00

回复 4楼iceman的帖子

和DEV的控件冲突了,去掉DEV的控件就能用,我再弄别的控件吧

iceman 发表于 2014-12-11 13:33:00

回复 5楼swejet的帖子

好的,感谢您的反馈。

我们公司的 ComponentOne 控件功能和 DEV 基本相同,而且提供中文技术支持,您可以了解下:
http://www.gcpowertools.com.cn/products/componentone_studio_silverlight.htm
页: [1]
查看完整版本: 关于使用SaveExcel的时候报错