1

我有一个代码,其中我正在获取两个文件。两者都是 Excel 文件,我需要将一个文件复制到另一个文件。文件中的行数和列数是动态的。

sFile是源文件,sFile1也是目标文件。在将源文件复制到目标文件时,我需要知道源文件中运行 for 循环的行数。

代码如下:

Dim shtlight As New SLDocument(sFile1) 
Dim lrow As Integer 
Dim lcol As Integer 
Dim sflie = Environment.Directory & "\Data.xls" 
lrow = 2  
Dim shtlight1 As New SLDocument(sFile1) 

For each row in sfile1 
    for column in sfile1 'code here to set value next next

我需要帮助来运行这个 for 循环,不知道如何设置上限,因为文件中的行和列不是动态的。

有人可以帮忙吗?我正在使用手机,所以格式可能不正确。:(

4

1 回答 1

3

正如我在上面的评论中提到的,我从未使用过SpreadsheetLight. 我刚刚下载SpreadsheetLight并尝试了它。

要获得最后一行,您需要使用它

Imports DocumentFormat.OpenXML
Imports DocumentFormat.OpenXML.Spreadsheet
Imports SpreadsheetLight

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim sl As New SLDocument("C:\Users\Siddharth\Desktop\Tester.xlsx", "Sheet1")
        MessageBox.Show (sl.GetWorksheetStatistics.EndRowIndex)
    End Sub
End Class

在此处输入图像描述

笔记

对于像我这样的 SpreadsheetLight 新手并想进行实验的人。

  1. 参考设置为 DocumentFormat.OpenXml.dll ( Open XML SDK 2.0 )。可以从这里下载。它不适用于我的Open XML SDK 2.5,而且我没有投入太多精力来找出原因......

  2. 参考设置为 SpreadsheetLight。可以从这里下载

以上代码在 VS 2013 上测试

于 2017-11-30T09:59:43.577 回答