Tag: stream

debuggingSSIS时出错(excel源码,数据转换,OLE DB目标)

我有问题创build一个良好的数据stream从Excel源到SQL数据库2010 BIDS。我使用32位运行时,我有SQL Server上的Windows身份validation。 我试图将数据发送到一个没有任何关系或约束的表。 我的excel文件是.xls,我试过这样做到SS2012和SS2008R2数据库,得到相同的错误。 这是我的包validation错误: Error at Data Flow Component [SSIS.Pipeline]: "component "Source for Excel Connection Manager" (1)" failed validation and returned validation status "VS_ISBROKEN". Error at Data Flow Component [SSIS.Pipeline]: One or more component failed validation. Error at Data Flow Component: There were errors during task validation. (Microsoft.DataTransformationServices.VsIntegration)

CopyTo使用xlsx文件打开时出错

我有以下IHttpHandler(ashx)处理程序: public class UploadFile : IHttpHandler { public void ProcessRequest(HttpContext context) { using (var fileStream = File.OpenWrite(@"C:\" + context.Request.QueryString["FileName"])) { context.Request.InputStream.CopyTo(fileStream); } } public bool IsReusable { get { return false; } } } 这是从以下方面调用: $.ajax({ type: "POST", url: "UploadFile.ashx?FileName=" + file.name, data: file, success: function () { alert("Success"); }, processData: false, contentType: file.type }); […]

Drools – 在决策表中使用“from”

我遇到了一些麻烦,我知道这个规则是以.drl格式工作,在决策表中工作。 这是我的规则在drlforms: rule = "slider1" dialect "mvel" when $person: Person() ArrayList( size >= 2 ) from collect( TestResult( name in ("TestA","TestB"), result == "high" ) from $person.getLabResults() ) then $person.setString("It worked"); end 以下是我在电子表格中尝试的内容: CONDITION ——————- $person:Person() ——————- ArrayList( size >= 1 ) from collect( TestResult( name in $param, result == 'high' ) from $person.getLabResults() ) […]

Excel VSTO:切换工作簿时显示自定义function区

我有一个Vsto Excel工作簿(在Visual Studio中创build),其中还包含一个自定义function区。 如果我在Excel(2007)中加载此工作簿,则只有我的工作簿具有焦点时,才会显示function区。 如果我切换到不同的工作簿,它会消失。 我明白这是devise,但有没有改变这种行为的方式,以便我可以使用function区的button时,select任何工作簿?

强制下载一个stream – 强制下载excel文件

我正在使用MemoryStream API和EPPlus创build一个Excel文档,在内存中创build一个Excel文件。 我创build一个Excel文件的代码基本上是这样的: public Stream GetXlsDocument(IQueryable data) { const string sheetName = "Sheet1"; var file = new FileInfo("test2.xls"); MemoryStream stream = new MemoryStream(); using (ExcelPackage p = new ExcelPackage(stream)) { p.Workbook.Worksheets.Add(sheetName); ExcelWorksheet ws = p.Workbook.Worksheets[1]; ws.Name = sheetName; ws.Cells.Style.Font.Size = 11; ws.Cells.Style.Font.Name = "Calibri"; // Headers ws.SetValue(1, 1, "Some data"); p.SaveAs(stream); } stream.Position = 0; […]

模块相对于无模式用户表单的VBA最佳实践

我遇到了类似的问题,并阅读答复: 仍然暂停代码执行的无模式 我一直试图在我自己的情况下应用David Zemens提供的build议。 在我的情况下,我似乎找不到一个结合了泽门先生的build议而不使用GoTo的方法。 我想知道是否有更好或更优雅的解决scheme。 以下是我正在做的事情的概要: 我有一个用户窗体与一个命令button开始代码执行将执行多个Excel工作簿上的多个操作。 因此,有多个代码块,并且一个代码块的成功完成允许执行随后的代码块。 在某些情况下,根据情况,代码可能需要用户input; 在其他情况下,所需的数据可以从Excel获得。 如果需要从用户input,则会显示另一个用户窗体。 用户可能需要在inputinput之前查看几个不同的Excel工作表,所以UserForm是无模式的。 因此,代码停止,直到用户input所需的input并单击另一个命令button。 在这一点上,我有麻烦:如何恢复程序stream程。 唯一可以通过GoTo语句来拾取“停止”的方法是? 还是有某种方式来组织模块,所以有一个单一的一致的程序stream,定义在一个点,而不是从用户input可能需要的点重复?

用GetResponseStream和SpreadsheetDocument.Open读取xlsstream

我想从服务器读取xls。 我成功地用WebClient下载了这个文件,但现在我想打开它而不保存文件。 var request = WebRequest.Create(location); var response = request.GetResponse(); var stream = response.GetResponseStream(); var document = SpreadsheetDocument.Open(stream, false); if (stream != null) stream.Close(); 我的代码停止在SpreadsheetDocument.Open,它会提供以下错误: 无法在不支持查找的stream上操作。 我做错了什么,为什么我不能打开文件?

使用Interop后释放Excel

我已经阅读了很多post寻找我的答案,但都是类似于这样的: 读取excel文件在vb.net叶excel进程悬挂 我的问题是,我不退出应用程序… 这个想法是这样的: 如果用户有Excel打开,如果他有我感兴趣的文件打开…获取该Excel实例,做任何我想做的事情… 但是我完成后不要closures他的文件…我希望他继续工作,问题是当他closuresExcel时…进程继续运行…并正在运行…和用户使用XbuttonclosuresExcel后运行… 这是我如何做到这一点 这篇文章是用来知道他是否打开Excel,并且在我检查我感兴趣的文件名。 Try oApp = GetObject(, "Excel.Application") libroAbierto = True For Each libro As Microsoft.Office.Interop.Excel.Workbook In oApp.Workbooks If libro.Name = EquipoASeccionIdSeccion.Text & ".xlsm" Then Exit Try End If Next libroAbierto = False Catch ex As Exception oApp = New Microsoft.Office.Interop.Excel.Application End Try 这里是我的代码…如果他没有打开Excel,我创build一个新的实例,打开文件和其他一切。 我的代码以这个结尾: If Not libroAbierto Then libroSeccion.Close(SaveChanges:=True) […]

文件打开时Excel导入到DataSet中断

我有一个服务,我用于Excel文件导入,实现如下所示: [Attributes.ImportFileExtension(Extension=".xls")] [Attributes.ImportFileExtension(Extension=".xlt")] [Attributes.ImportFileExtension(Extension=".xlsx")] public class ExcelImportService:FileImportServiceBase,IFileImportService { public DataSet Import(System.IO.Stream fileStream) { IExcelDataReader excelReader = null; switch (Extension) { case ".xls": case ".xlt": excelReader = ExcelReaderFactory.CreateBinaryReader(fileStream); break; case ".xlsx": excelReader = ExcelReaderFactory.CreateOpenXmlReader(fileStream); break; } excelReader.IsFirstRowAsColumnNames = true; DataSet dataSet = excelReader.AsDataSet(); return dataSet; } } 此外,我有以下代码通过正在创build的工厂调用此服务。 调用这个服务的代码如下所示: try { var extension = Path.GetExtension(dialog.FileName); var […]

stream出大数据表excel文件

我试图stream出一个数据表到MVC的Excel文件。 当行数超过25万时,它给我OutOfMemoryexception。 以下是代码: var memStream = new MemoryStream(); var streamWriter = new StreamWriter(memStream); streamWriter.WriteLine("{0}", "<TABLE>"); foreach (DataRow rw in dt.Rows) { streamWriter.WriteLine("{0}", "<TR>"); foreach (DataColumn cl in dt.Columns) { streamWriter.WriteLine("{0}", "<TD>"); streamWriter.WriteLine("{0}", rw[cl].ToString()); streamWriter.WriteLine("{0}", "</TD>"); } streamWriter.WriteLine("{0}", "</TR>"); } streamWriter.WriteLine("{0}", "</TABLE>"); streamWriter.Flush(); memStream.Seek(0, SeekOrigin.Begin); return File(memStream, "application/vnd.ms-excel", "Test.xls"); 我认为通过缓冲区写入内存stream应该解决OutOfMemory问题。 但是,我还没有这样做。 我应该如何修改上面的代码缓冲写入内存stream? 谢谢