使用epplus

时间:2017-09-05 10:03:47

标签: excel vb.net epplus

当我尝试从EPPlus给出的方法中写出一些东西时,它会出现两条错误消息

  

我们发现某些内容存在问题

     

Excel完成了文件级验证和修复。本工作簿的某些部分可能已被修复或丢弃。

Excel打开成功,但是,如果有错误信息,还有一件事情我已写完了,这意味着它已经是一个模板。

 Dim consh As ExcelWorksheet
    'Dim excelStream As New MemoryStream()
    'excelStream.Write(excel, 0, excel.Length)
    Dim exlpck As New ExcelPackage(excel)
    If exlpck.Workbook.Worksheets(cellExcelTabName) Is Nothing Then
        consh = exlpck.Workbook.Worksheets.Add(cellExcelTabName)
    Else
        consh = exlpck.Workbook.Worksheets(cellExcelTabName)
    End If
    Dim start = consh.Dimension.Start
    Dim [end] = consh.Dimension.[End]
    For row As Integer = 4 To [end].Row
        ' Row by row...
        For col As Integer = 18 To 35
            ' ... Cell by cell...
            ' This got me the actual value I needed.
            Dim cellValue As String = consh.Cells(row, col).Text
            Dim cellAddress = consh.Cells(row, col).Address
            Dim i = 0
            For Each mText In textToFind
                If cellValue.Contains(mText) Then
                    consh.Cells(cellAddress).Value = cellValue.Replace(mText, "")[enter image description here][1]
                    consh.Cells(cellAddress).Style.Fill.PatternType = ExcelFillStyle.Solid
                    consh.Cells(cellAddress).Style.Fill.BackgroundColor.SetColor(color(mText.Substring(1, 1) - 1))
                    i = i + 1
                End If
            Next
        Next
    Next
    'Dim exlpck1 As New ExcelPackage(e)
    exlpck.Save()
    Dim s = New MemoryStream(exlpck.GetAsByteArray())
    Return s

2 个答案:

答案 0 :(得分:0)

如上所述here("我收到Excel发现不可读内容的错误..."),EPPlus包不会验证公式和数字格式。您可能想在那里查看提示。

答案 1 :(得分:0)

我找到了我的代码修复

package deb

// New accepts blah returning a *Deb. It returns nil if blah.
func New(name string, to io.WriteCloser) *Deb {...}
  

替换为

exlpck.Save()

它有效:)