问题标签 [filehelpers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4447 浏览

c# - 删除文件助手中的引号

我有一个 .csv 文件(我无法控制数据),出于某种原因,它的所有内容都包含在引号中。

我正在使用文件助手,我想知道删除所有这些引号的最佳方法是什么?有没有什么说“如果我看到引号被删除。如果没有找到引号什么也不做”?

这会与数据混淆,因为我将"\"515.00\""使用不需要的额外引号(特别是因为在这种情况下我希望它是小数而不是字符串”。

我也不确定“javascript”是什么以及为什么生成它,但这是来自我无法控制的服务。

编辑 这就是我使用 csv 文件的方式。

0 投票
2 回答
665 浏览

c# - 剖析 FileHelpers 的价值?或者这超出了程序功能

我想知道我是否必须放弃文件助手并自己做这件事,因为我认为我可能超出了它的设计目的。

我希望用户能够上传任何 csv 文件(也许在未来的 excel 文件中)。第一行会有标题

一旦上传它看起来像

C1,C2,C3,C4,C5,C6 a,b,c,d,e,f

现在我想看一下标题,基本上取某些标题。例如我想要C2, C3, C4.其余的都是我不关心的额外信息。

现在有人可能会上传具有此标头的文件

我再次只寻找C2, C3, C4.

我知道我可以有多种格式,但我得到的是我希望他们能够基本上上传任何带有任意数量标题的文件(我关心的可能是 1000 个),然后让我的应用程序尝试找到我的信息关心(所以在 1000 个标题的情况下,我可能只想要 3 个)

这可能吗?

编辑

(基于 shamp00 评论)

我的目标是尽可能多地填写我可以确定的数据,但是这样的情况可能会发生。我想要C1,C2,C3。他们给出了一个带有 C1、C3、C4 的文件。我有 2 列我需要的数据,但我没有 C2。

现在我有 2 个想法,一个是将数据显示到 2 个表中。表 1 将具有 C1、C2、C3,表 2 将具有 C1、C3、C4,它们基本上采用表 2 中的数据并将适当的数据移动到我预期的列中。

使用这种方法,我基本上是在说“你没有给我 100% 的预期,现在你必须将每一行格式化为我的格式”。

第二种方法是 1 个表并尝试填写尽可能多的数据。

例如,用户上传具有 C1、C3、C4 的文件。我确定它们是已知的 2 列,但我还没有全部的预期数据。

所以我会在一个html表中向用户显示所有行,标题为

C1 将被填写,C2 单元格将是空白的(因为这是我缺少的数据),C3 将被填写,C4 将被填写(这个数据是出乎意料的,但谁知道它实际上可能是数据C2 应该保留,但由于他们拼错了标题名称,我的程序无法弄清楚)。

然后基本上他们只会用从其他地方或可能从 C4 获得的数据填充 C2。

现在他们只需要填写 1 列,而不是预期的所有列。所以从某种意义上说,我需要一个具体的类,比如 MyClass 是 C1,C2,C3 但同时我需要动态以便我可以持有C4,C5.....Cn.

我总是首先显示 C1、C2、C3,其余的这些意想不到的将在之后通过 javascript 的魔力和他们可以编辑缺失信息的东西出现。如果没有任何遗漏,则不会显示任何内容进行编辑。

根据 shamp00 评论,我现在想知道是否需要将数据作为数据表返回(幸运的是,这似乎是一个系统类,因为现在我的代码位于服务层中,并且我根据需要返回了域传输类使我的代码独立于类似的网络代码类,因此我试图弄清楚如何生成动态类 FileHelpers。)。

然后不知何故(还不是 100% 确定)只是跟踪我真正感兴趣的那 3 列的位置,这样我就知道哪些数据是什么。

0 投票
1 回答
825 浏览

c# - 如何转换为动态类?

我正在尝试使用filehelpers类生成器,但我对如何处理它有点困惑。

DelimitedClassBuilder的第一个参数是“className”,然后是“delimiter”

然后,我浏览流的第一行,其中包含我稍后将用作此“类”的字段名称的标题。

最后一行读取所有其余信息并将其作为对象数组 [] 返回。我在里面看到它们属于“临时”类。

但是我不知道如何将其实际转换为“temp”类。现在我真的不知道如何获取数据。我知道我不能只做类似的事情

result[0].SomeFieldName 作为 fieldName 可能会随着运行而变化。所以这也让我想知道,如果我必须做一些事情,比如通过索引或其他东西获取它,为什么它首先会创建一个类。

如您所见,我现在很困惑。

0 投票
1 回答
19170 浏览

c# - 为什么返回的 DataTable 在 FileHelpers 中有只读列

我想知道为什么文件助手返回只读列。

我有一个很大的问题,他们没有更新值并且无法弄清楚为什么。现在我必须有另一个循环来遍历所有列并将它们更改为非只读的。

有没有办法告诉 Filehelpers 不要这样做?所以我不必再浪费时间经历这一切了吗?

0 投票
2 回答
3706 浏览

c# - 使用反射构建一个类(构建一个动态的 FileHelper 类)

我可以使用反射动态构建如下所示的类吗?没有方法,只有公共变量,有些有自定义属性。

是否需要 .Emit 方法(从我所见,“Emit”看起来有点挑战性)。

我正在使用来自www.FileHelpers.net的软件,它需要一个类。我所有的文件定义都在一个数据库表中,我想让一切变得更加动态(即当文件中出现新列时没有代码更改)。

更新 1:根据 Vlad 在下面的回答,我需要引用 DLL,我是这样做的:

更新 2:此外,按照 Vlad 的建议,这就是我调用 FileHelper 并遍历结果的方式。我可能会将数据传输到列表中。

0 投票
2 回答
6902 浏览

c# - 如何使用 FileHelpers 导出到 excel 文件

我正在使用File Helpers,但我不确定如何获取我的数据并将其导出到 Excel 文件。

我看到了一个提取记录但没有创建 excel 文件的教程。

我试着这样做

System.IO.FileNotFoundException 未被用户代码处理
Message=Could not load file or assembly 'Interop.Excel, Version=1.3.0.0, Culture=neutral, PublicKeyToken=3e0c08d59cc3d657' 或其依赖项之一。该系统找不到指定的文件。
Source=FileHelpers.ExcelStorage FileName=Interop.Excel,Version=1.3.0.0,Culture=neutral,PublicKeyToken=3e0c08d59cc3d657
FusionLog==== 绑定前状态信息 === LOG: User = LOG: DisplayName = Interop.Excel, Version=1.3.0.0, Culture=neutral, PublicKeyToken=3e0c08d59cc3d657 (全指定) LOG: Appbase = LOG: Initial PrivatePath = 调用程序集:FileHelpers.ExcelStorage,版本=2.9.9.0,文化=中性,PublicKeyToken=3e0c08d59cc3d657。=== LOG:此绑定在默认加载上下文中开始。LOG:使用应用程序配置文件:web.config LOG:使用主机配置文件:LOG:使用 machine.config 中的机器配置文件。日志:策略后参考:Interop.Excel,版本=1.3.0.0,文化=中性,PublicKeyToken=3e0c08d59cc3d657 日志:尝试下载新 URL 文件:日志:尝试下载新 URL 文件:Interop.Excel.DLL。日志:正在尝试下载新的 URL 文件:Interop.Excel.DLL。日志:正在尝试下载新的 URL 文件:Interop.Excel.DLL。日志:正在尝试下载新的 URL 文件:Interop.Excel.EXE。日志:正在尝试下载新的 URL 文件:Interop.Excel.EXE。日志:正在尝试下载新的 URL 文件:Interop.Excel.EXE。日志:正在尝试下载新的 URL 文件:Interop.Excel.EXE。

StackTrace:在 FileHelpers.DataLink.ExcelStorage.InitExcel() 在 FileHelpers.DataLink.ExcelStorage.InsertRecords(Object[] records) at Index() in Controller.cs:line 37 at lambda_method(Closure, ControllerBase, Object[]) at System .Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary 2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) at System.Web.Mvc.ControllerActionInvoker.<>c_ DisplayClass15.b _12() 在 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter 过滤器,ActionExecutingContext preContext,Func`1 延续)
InnerException:

0 投票
1 回答
2127 浏览

c# - 通过文件助手向 Excel 文件添加标题行

我正在关注此示例,但我不知道如何在最终输出的 excel 文件中创建标题行。

0 投票
2 回答
2004 浏览

c# - FileHelpers 库 CSV - 为什么总是从右侧最后一列中删除一个字母?

我找到了一个非常棒的库来读取 CSV 文件 - FileHelpers,但我有一个奇怪的问题。我会很感激一些帮助。提前致谢 !

映射后,我总是会从右侧最后一列中删除一个字母。

我正在使用 FileHelpers.dll 版本 2.0.0 - DotNet 2.0FileHelpers_2_0_0_bin_docs_wizard.zip

例如,我有一个这样的 CSV(有些列被引用但有些没有,它可能会改变)

并在阅读文件后:

我明白了:

当我读取这样的文件时:

问题在第三列 - 所以我得到:countr US Canad

我的 FileHelpers 类:

有任何想法吗 ?

0 投票
1 回答
2100 浏览

c# - C# FileHelpers - 在不使用输入文件的情况下将新记录写入 csv

我看过的所有地方都是如何将 csv 文件读入 FileHelpers,然后写出相同的数据。我正在尝试构建一个 Record 类,基于来自应用程序其他区域的输入,我将设置每个记录的值,然后将该行输出到 csv。

所以我想要一些这样的:

然后在另一堂课中,我将设置这些记录:

从这一点开始,我对如何将这些记录写入 csv 文件或稍后可以写入 csv 文件的列表感到困惑。当我尝试创建引擎时

我收到一条错误消息,提示“记录类 Records 不包含任何字段”。有人知道我错过了什么吗?我在文档中找不到解释如何执行此操作的任何地方。

0 投票
1 回答
529 浏览

f# - FileHelpers CSV 时间跨度

我正在使用 F# 中的 fileHelpers 模块解析 CSV。想知道将时间转换为最佳格式的最佳方法是什么。我认为最好的格式是时间跨度,但是找不到时间跨度的 convertKind

如果我有一个字符串,例如 10:05.0 这将代表上午 10:05。将 ConvertKind 与 FileHelpers 库一起使用以将此字符串解析为表示 10:05 的结构的最佳方法是什么

感谢所有的帮助!