Files
playbook/skills/tsl-api-reference/references/codegen/dotnet/resource/file.md
T

133 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 资源访问函数 / 文件访问函数
## `exportFile2(_type, alias, file_name, data, include_header, include_index, sheet, range)`
声明:function
将数据导出到指定Sheet、指定数据位置Range的excel文件,仅支持Type类型为ftxls()的,为了兼容其他类型,如果输入的类型是非ftxls()的,则执行exportfile导出数据且无法指定Sheet和Range。注:导出时对应的excel文件需要关闭
<!-- tags: 写入 保存 -->
| 参数 | 类型 | 说明 |
| ---------------- | ------ | ------------------------------------------------------------------ |
| `_type` | | 整数类型。参考导入导出类型函数。 |
| `alias` | string | 字符串类型。参考目录别名。 |
| `file_name` | string | 字符串类型。文件名称。 |
| `data` | | 数据,需要导出的数据。 |
| `include_header` | bool | 布尔类型。为真时导出的文件包含字段头部信息。缺省时候为真。 |
| `include_index` | bool | 布尔类型。为真时导出的文件包含数组下标信息。缺省时候为假。 |
| `sheet` | string | 字符串类型,指定Sheet。 |
| `range` | string | 字符串类型,指定单元格,如:"A1"表示要把数据导出到A1开始的单元格。 |
返回:integer|string
### 示例
范例01:导出到指定工作表和单元格
```tsl
// 导出10 * 5全1矩阵,到C: \\test.xlsx 文件的Sheet3C2单元格。
data := ones(10, 5);
ret := exportFile2(ftXls(), "", "C:\\test.xlsx", data, 1, 0, "Sheet3", "C2");
return ret;
// 输出:1(表示数据导出成功,可以在 C 盘看到 test.xlsx 文件)
```
此示例需在提供 `exportFile2` 的 Windows/.NET 运行环境中执行,并确保目标 Excel 文件已关闭。本地 `.tsl` 脚本不使用 `rdo2` 包装调用。
## `ftCsVne()`
声明:function
逗号分割文件类型,输出结果禁用1E20等类型
返回:integer
### 示例
```tsl
return ftCsVne();
// 输出:9
```
## `importFile2(_type, alias, file_name, data, include_header, include_index, force_single, sheet, range)`
声明:function
导入excel中指定Sheet的内容,可选择指定数据范围Range。仅支持Type类型为ftxls()的,为了兼容其他类型,如果输入的类型是非ftxls()的,则执行importfile导入数据且无法指定数据位置Range
| 参数 | 类型 | 说明 |
| ---------------- | ------- | ------------------------------------------------------------------------------------------------- |
| `_type` | integer | 整数类型。参考导入导出类型函数。 |
| `alias` | string | 字符串类型。参考目录别名。 |
| `file_name` | string | 字符串类型。文件名称。 |
| `data` | bool | 变参返回,存贮导入的数据。当导入成功的时候,数据将存放在Data。 |
| `include_header` | bool | 布尔类型。为真时认为导入的文件包含字段头部信息。缺省时候为真。 |
| `include_index` | bool | 布尔类型。为真时认为导入的文件包含数组下标信息。缺省时候为假。 |
| `force_single` | bool | 布尔类型。为真时认为导入的文件是一个一维数组。缺省时候为假。 |
| `sheet` | string | 字符串类型,指定Sheet。 |
| `range` | string | 字符串类型,指定单元格范围,如果为空导入Sheet的所有数据,非空则必须为excel的Range,如:"A1:E13"。 |
返回:bool
### 示例
范例01:导入指定工作表中的单元格范围
```tsl
// 导入"C:\\test.xlsx"文件中的Sheet3的"C2:E5"数据,包含字段名称。
ret := importFile2(ftXls(), "", "C:\\test.xlsx", data, 1, 0, 0, "Sheet3", "C2:E5");
if ret then
result := data;
else
result := "导入失败";
return result;
```
此示例需在提供 `importFile2` 的 Windows/.NET 运行环境中执行,并确保示例文件存在。本地 `.tsl` 脚本不使用 `rdo2` 包装调用。
## `readExcelSheets(alias, file_name, sheets_name, use_ole)`
声明:function
从Excel文件中读取Sheets列表
<!-- tags: 读取 获取 -->
| 参数 | 类型 | 说明 |
| ------------- | ---------- | -------------------------------------------------------------------------------- |
| `alias` | string | 字符串类型。参考目录别名。 |
| `file_name` | string | 字符串类型。文件名称。 |
| `sheets_name` | array | 返回值。存贮读出的SHEETS名称,存贮为一个一维字符串数组。 |
| `use_ole` | bool=false | 布尔型。是否使用Excel来读取,默认直接采用读文件的方式。设置为真则要求安装Excel。 |
返回:bool
### 示例
范例01:读取本地 Excel 文件的工作表名称
```tsl
readExcelSheets('', 'd:\\test\\test.xls', r, 0);
return r;
// 输出:array("Sheet1","Sheet2","Sheet3")
```
此示例需在提供 `readExcelSheets` 的 Windows/.NET 运行环境中执行,并确保示例文件存在。本地 `.tsl` 脚本不使用 `rdo2` 包装调用。
## `writeToLog(dir, sub_dir, value)`
声明:function
向虚拟目录写日志。其中Dir为虚拟目录名,SubDir为文件名,成功写入日志后,会生成命名为'SubDir'+写入日期+'.log'的TXT文件,文件内容为写入时间->Value。用户使用其应当申请好服务器权限。 20250512升级:优化多个线程同时写入时存在丢失情况: 1、增加重试次数,重试20次间隔0.5秒。 2、增加返回内容。 注意:在极端情况下(超多多线程下同时写入)可能还会存在写入失败情况,此时可通过返回结果继续处理
<!-- tags: 写入 保存 TXT -->
| 参数 | 类型 | 说明 |
| --------- | ------ | -------------------------------------------------------------------------------------------------------------------------------- |
| `dir` | string | 字符串,虚拟目录别名,一般在安装目录\Tinysoft\Analyse.NET\Plugin\filemgr.ini中进行配置。如果没有配置别名,该参数赋值为空字符""。 |
| `sub_dir` | string | 字符串,文件名 |
| `value` | string | 字符串,需要写入日志的内容 |
返回:any