- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想用多个 excel 文件导出多个工作表中的数据。正如您在我的图片中看到的,我想在 ID
更改时生成工作表,当 ModalityId
更改时,我想创建新的 excel。
为了这个问题,我编写了这样的代码:
List<string> lstFile = new List<string>();
if (dtAltTag != null && dtAltTag.Rows.Count > 0)
{
string filePath = string.Empty;
string fileName = "";
Excel.Workbook workBook = new Excel.Workbook();
var workSheet = new Excel.Worksheet(fileName);
if (dtAltTag.Rows[0]["OldFormCode"] != null && dtAltTag.Rows[0]["OldFormCode"].ToString() != "")
{
fileName = dtAltTag.Rows[0]["OldFormCode"].ToString();
}
else
{
fileName = dtAltTag.Rows[0]["Code"].ToString();
}
workSheet.Name = fileName;
AddValue(0, workSheet, dtAltTag); // function is used to add the value in the sheet
workBook.Worksheets.Add(workSheet);
//data working
for (int i = 0; i < dtAltTag.Rows.Count; i++)
{
//for modality changes and first entery
//if (i == 0 || dtAltTag.Rows[i]["ModalityId"] != dtAltTag.Rows[i - 1]["ModalityId"])
//{
//if form changes then it should be in other sheet
if (i != 0 && dtAltTag.Rows[i]["ID"].ToString() != dtAltTag.Rows[i - 1]["ID"].ToString())
{
if (dtAltTag.Rows[i]["OldFormCode"] != null && dtAltTag.Rows[i]["OldFormCode"].ToString() != "")
{
fileName = dtAltTag.Rows[i]["OldFormCode"].ToString();
}
else
{
fileName = dtAltTag.Rows[i]["Code"].ToString();
}
var workSheet1 = new Excel.Worksheet(fileName);
AddValue(i, workSheet1, dtAltTag);
}
else
{
}
}
filePath = HostingEnvironment.MapPath(ConfigurationManager.AppSettings["ExcelFilesFilePath"]) + "Allitem";
if (!File.Exists(filePath))
Directory.CreateDirectory(filePath);
filePath = filePath + "\\" + fileName + "_" + DateTime.Now.ToString("MM_dd_yyy_HH_mm_ss") + ".xls";
workBook.Save(filePath);
lstFile.Add(filePath);
}
return lstFile;
当 id 更改时,我附加了新的 header ,但在那之后,我想继续导出数据,直到 id 更改无法检测到如何做到这一点?如何获取当前工作表,在其他情况下继续添加值?
我希望你已经清楚我正在尝试做什么!
提前致谢!
最佳答案
你不能这样做吗:
ModalityId
不同,保存当前文件并创建一个新文件(将其分配回当前文件变量)ID
不同,则创建一个新工作表(将其附加到当前文件并将其分配回当前工作表变量)这可能是它的伪代码:
var currentFile = new ExcelFile();
var currentSheet = currentFile.AppendSheet(rows[0].SheetName);
string lastFileName;
for(int i = 0; i < rows.Count; i++)
{
// Adds new file if necessary
if(i != 0 && rows[i].ModalityId != rows[i - 1].ModalityId)
{
currentFile.Save(rows[i - 1].FileName);
currentFile = new ExcelFile();
}
// Adds new sheet if necessary
if(i != 0 && rows[i].ID != rows[i - 1].ID)
{
currentSheet = currentFile.AppendSheet(rows[i].SheetName);
}
InsertData(currentSheet, rows[i]);
lastFileName = rows[i].FileName;
}
currentFile.Save(lastFileName);
关于c# - 在 C# 中使用 ExcelLibrary 使用多个工作表创建多个 excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58813723/
我最近一直在学习 Clojure。 Clojure 世界中是否有类似 Scala 的工作表这样的东西,我可以在其中放入任何代码并在保存后立即对其进行评估?或者也许 Clojure 有类似的解决方案?
有人可以帮我吗?我想知道如何过滤工作表中的多个选项卡(C1-C19)。这是我所做的: 我创建了一张表格,将所有回复存储在我的谷歌表单(事件注册表单)中。每个参与者将收到一个坦克编号,每个坦克编号根据其
这就是我将打开的面板显示为 float 窗口的方式。 有人可以帮我将面板作为工作表运行吗?窗口对象是mWindow。我使用的许多标准代码都已被折旧。 NSOpenPanel *openPanel =
当您仅键入 worksheets() 时,默认范围 ActiveWorkbook 或 ThisWorkbook 是什么?对于那些不了解这些区别的人来说,它们非常重要,尤其是在 Excel 2013 中
我有一个带有一些图表的 HTML 页面。我想要做的是编写一个加载 javascript 函数,它将从 excel 表中读取值,将它们存储在变量中并在 html 页面上使用它们。我的问题是是否有任何 j
我需要将参数 callFrom 传递给 SwiftUI 中的工作表。 奇怪的是,该参数在第一次调用时没有使用,但对以下调用有效。 import SwiftUI struct ContentView:
我试着 var tempSheet = wrksheets[sheetName] as Worksheet; 在哪里 wrksheets是类型表 sheetName 是“带空格的工作表名称” 如果
该函数用作“ Assets 类别分配”引擎(在参数范围内具有约束)并在数组的每一行上模拟投资组合模型。我尝试使用四种方法将数组发布到工作表上,但每种方法都失败了。 对于 Assets A、B、C、D
目前,我的 excel 文件有两张表,一张名为“English”,一张名为“French”。 我以编程方式打开我的工作簿并编辑我的英文表,没有任何问题。当我打开第二张工作表时,出现以下错误: The
我添加了一个 VBA 表单 userform和一个模块 Module1在 Excel 中打开 Microsoft VBA 编辑器 (Alt+F11)。 现在,每当我打开任何其他 Excel 时,按 A
在单个 Excel 工作簿中,我想选择各种工作表来运行 VBA 子例程。我找到了显示如何遍历选定工作表的代码,它使用“MsgBox sh.Name”;但是,当我将代码放入其中时,它只会影响选择的最后一
我想知道是否有一个函数可以在 Excel 中加载特定于 Python 的工作表,例如,如果我有 34 张工作表只加载前 25 张工作表。通过以下行,我加载了所有工作表。 xlsx=pd.ExcelFi
我有一个名为“A”、“B”、“C”等的工作表的 xlsx。我需要形成一个名称为“A”、“B”、“C”的表作为第一列,以及来自的一些数据每个工作表中与第二列相同的单元格。例如,这可能看起来像: S
我有一张用密码保护的工作表。当我使用 VBA 更改该表上的任何内容时,我会像这样取消保护: Private Sub Worksheet_Change(ByVal target As Range)
我想将 Excel 文档插入 Excel 工作表。我可以通过以下步骤手动执行此操作; 插入/文本/对象/从文件创建(勾选显示为图标)/浏览。 然后我选择文件并插入文档。 我想通过宏来做到这一点。 (录
是否可以创建 批处理文件那将执行以下操作? 重命名 Excel 文件中的单个工作表(不是 Excel 工作簿/文件本身) 将简单格式应用于 Excel 文件 - 例如,将字体和字体大小应用于整个工作簿
Private Sub CommandButton1_Click() Dim ws As Worksheet With Application.FileDialog(msoFileDialog
我想知道是否可以在不复制该工作表的情况下引用另一本工作簿中的 Excel 工作表? 情况:我有一些非常大的工作表,其中充满了各种数据,但我不想在我的工作簿中保留它们的副本,因为虽然每个工作簿都使用相同
我有这个 Python 字典,我想将这个数据写入 Excel 文件。 注意:有很多类别,每个类别有很多汽车(为简单起见,我使用了 2 个类别) data = {"Category": {"Diesel
我有一个 excel 工作簿,在工作簿中我有 2 张名为 Front Page 和 Drafting 的工作表。起草工作表引用了首页工作表中的一些值。这只是一个基本的引用 我有像这样的公式:='Fro
我是一名优秀的程序员,十分优秀!