Tag: c#

使用EPPlus只读取列或单元格

有没有办法使一列或一组单元格locking或只能使用EPPlus读取? 我已经尝试了下面的代码单独和一起,但都似乎没有预期的效果。 整个工作表都被locking(如果我包含IsProtected语句)或者什么也不是。 ws.Protection.IsProtected = true; ws.Column(10).Style.Locked = true; 编辑 这里是我的控制器的整个代码块 FileInfo newFile = new FileInfo("C:\\Users\\" + User.Identity.Name + "\\Desktop" + @"\\ZipCodes.xlsx"); ExcelPackage pck = new ExcelPackage(newFile); var ws = pck.Workbook.Worksheets.Add("Query_" + DateTime.Now.ToString()); //Headers ws.Cells["A1"].Value = "ChannelCode"; ws.Cells["B1"].Value = "DrmTerrDesc"; ws.Cells["C1"].Value = "IndDistrnId"; ws.Cells["D1"].Value = "StateCode"; ws.Cells["E1"].Value = "ZipCode"; ws.Cells["F1"].Value = "EndDate"; ws.Cells["G1"].Value = "EffectiveDate"; […]

如何通过oledb阅读器或excel库,excel datareader或NPOI等(Interop除外)如何检查一个单元格包含公式或不在Excel中?

如何通过oledb阅读器检查一个Cell是否包含公式或不在Excel中? System.Data.OleDb.OleDbConnection conn2 = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source = " + strFileName + "; Extended Properties = \"Excel 8.0;HDR=NO;IMEX=1\";"); conn2.Open(); string strQuery2 = "SELECT * FROM [" + Table + "]"; System.Data.OleDb.OleDbDataAdapter adapter2 = new System.Data.OleDb.OleDbDataAdapter(strQuery2, conn2); System.Data.DataTable DT2 = new System.Data.DataTable(); adapter2.Fill(DT2);

从excel spreedshet缺less列

我有一个发票清单,我把它们转移到一个Excel电子表格。 除了“作业date”列之外,所有列都被创build到电子表格中。 这在电子表格中是空白的。 代码如下: string Directory = ConfigurationSettings.AppSettings["DownloadDestination"] + Company.Current.CompCode + "\\"; string FileName = DataUtils.CreateDefaultExcelFile(Company.Current.CompanyID, txtInvoiceID.Value, Directory); FileInfo file = new FileInfo(FileName); Response.Clear(); Response.ContentType = "application/x-download"; Response.AddHeader("Content-Length", file.Length.ToString()); Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name); Response.CacheControl = "public"; Response.TransmitFile(file.FullName); Response.Flush(); Context.ApplicationInstance.CompleteRequest(); public static string CreateDefaultExcelFile(int CompanyID, string InvoiceNo, string CreateDirectory) { List<MySqlParameter> param = new List<MySqlParameter>{ […]

输出.XLSX到响应时EPPlus错误

我有一个奇怪的问题在这里使用EPPlus来创build一些.XLSX文件。 我有一个包被创build,然后被输出到响应。 我已经创build了一个包,如下所示: var file = new FileInfo(@"C:\Test.xlsx"); ExcelPackage package = new ExcelPackage(file); //…code to output data…// package.Save(); 这将文件保存到我的本地C:驱动器正确,当我打开它的效果很好。 没有错误或任何东西,格式是正确的,等等。 不过,我现在想输出这个文件到响应stream,所以我修改了代码,我看起来像这样: ExcelPackage package = new ExcelPackage(); //…code to output data…// MemoryStream result = new MemoryStream(); package.SaveAs(result); context.Response.Clear(); context.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; context.Response.AddHeader("Content-Disposition", "attachment;filename=MissionDetails.xlsx"); result.WriteTo(context.Response.OutputStream); context.Response.End(); 但是当我运行这个代码时,我试图打开Excel文件时得到以下提示: Excel在filename.xlsx中发现不可读的内容。 你想恢复这个工作簿的内容? 如果您信任此工作簿的来源,请单击“是” 点击是,然后显示以下提示: 此文件不能通过使用Microsoft Excel打开。 您是否要searchMicrosoft Office Online网站上的可以打开文件的转换器? 我在这里selectNo […]

EPPlus – 如何使用模板

最近我发现了EPPlus( http://epplus.codeplex.com/ )。 我在我的项目中有一个excel .xlsx文件与所有风格的列标题。 我在他们的网站上阅读,你可以使用模板。 有谁知道如何或可以提供如何与EPPlus使用我的template.xlsx文件的代码示例? 我希望能够简单地将我的数据加载到行中而不会混淆标题。

.net c#excel列AutoFit

我正在使用c#中的excel对象。 我想自动适合列,但是像这样:我希望列的宽度比AutoFit方法设置的大5。 如何在使用AutoFit()后获得宽度? 我怎样才能使列5比这个宽度更大?

如何迭代Excel._Worksheet中的所有行?

我正在寻找以编程方式从Excel工作表中拉出数据并将其插入到数据库表中。 如何确定工作表中的列数和行数,或者是否重复这些行? 我有 Excel._Worksheet worksheet = (Excel._Worksheet)workbook.ActiveSheet; 我尝试了worksheet.Range.Rows.Count 扔掉了 索引属性“Microsoft.Office.Interop.Excel._Worksheet.Range”具有必须提供的非可选参数 需要做什么?

如何使用Telerik导出到Excel(XLSX)时解释集合?

情景 我正在使用Telerik UI For Windows窗体 。 我有一个RadGridView ,我代表一个名为MarketInfo的自定义types: Public NotInheritable Class MarketInfo … Public ReadOnly Property Participants As ReadOnlyCollection(Of ParticipantInfo) Get Return Me.GetParticipants() End Get End Property … End Class 它只包含文本和布尔值属性,而Participants属性则返回另一个自定义types的集合: Private Function GetParticipants(ByVal market As XElement) As ReadOnlyCollection(Of ParticipantInfo) Dim participantInfoList As New List(Of ParticipantInfo) For Each participantNode As XElement In market…<participant> participantInfoList.Add(New ParticipantInfo(participantNode)) […]

ClosedXML – 创build多个数据透视表

我试图将一些数据导出到Excel数据表S1其数据在接下来的两张表S2 and S3显示为透视图。 我能够创build一个枢轴,它的工作原理是完美的。 但是,当我创build两个枢轴,随之而来的Excel文件呈现为损坏。 我的意思是腐败, 点击是,我得到这个 – 这里是我用来创build枢纽的代码 – using XL = ClosedXML.Excel; … XL.XLWorkbook wb = new XL.XLWorkbook(); dsData = Session["ExportData"] as DataSet; var sheet1 = wb.Worksheets.Add("output table"); sheet1.Cell(1, 1).InsertTable(dsData.Tables[0], "output table", true); // sheet1 is the reference sheet S1 var dataRange = sheet1.RangeUsed(); // First Pivot XL.IXLWorksheet ptSheet1 = wb.Worksheets.Add("S2"); var pt1 […]

格式化Excel单元格(货币)

我开发了一个Excel插件,以便您可以从MySQL数据库中插入一些数字到特定的单元格中。 现在我试图格式化这些单元格为货币,我有两个问题。 1.在格式化的单元格上使用公式时,总和例如显示如下:“353,2574€”。 我需要做什么来以适当的方式显示它? 有些单元格是空的,但也必须用货币格式化。 当使用相同的格式我用于总和公式和键入的东西,只有数字显示。 没有“€”,什么也没有。 那是什么? 我指定了一个Excel.Range并用它来格式化范围 sum.NumberFormat = "#.## €"; 但我也试过了 sum.NumberFormat = "0,00 €"; sum.NumberFormat = "#.##0,00 €"; 任何想法的人?