代码拉取完成,页面将自动刷新
using OfficeOpenXml;
namespace WinFormsApp1
{
internal class fileUtils
{
internal static List<string> read(string filePath)
{
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
List<string> list = new List<string>();
try
{
// 读取 Excel 文件
using (var package = new ExcelPackage(new FileInfo(filePath)))
{
// 获取第一个工作表
var worksheet = package.Workbook.Worksheets[0];
// 假设数据从 A 列开始,读取所有非空单元格
var columnAValues = worksheet.Cells["A1:A" + worksheet.Dimension.End.Row]
.Select(cell => cell.Text)
.Where(text => !string.IsNullOrWhiteSpace(text))
.ToList();
// 处理每个值
foreach (var value in columnAValues)
{
//截取前后字符串
string processedValue = ProcessString(value);
//字符串反转并添加路径
string reversalValue = reversal(processedValue);
//添加处理后的字符串到列表中
list.Add(reversalValue);
}
}
}
catch (Exception)
{
MessageBox.Show("读取数据异常!");
}
return list;
}
private static string reversal(string input)
{
var groups = Enumerable.Range(0, (input.Length + 1) / 2) // +1 是为了确保奇数长度时,最后一个字符单独处理
.Select(i => input.Substring(i * 2, Math.Min(2, input.Length - i * 2))) // 处理最后一组字符可能不足 2
.ToList();
// 步骤2:反转组的顺序
groups.Reverse();
// 步骤3:拼接反转后的组,并加入 \ 分隔符
string result = string.Join("\\", groups);
return result;
}
private static string ProcessString(string input)
{
int length = input.Length;
if (length % 2 == 0) // 双数长度
{
// 截取前 2 位和后 2 位
var a = input.Substring(2);
var b = a.Substring(0, a.Length - 2);
return b;
}
else // 单数长度
{
// 截取前 2 位和后 1 位
var a = input.Substring(2);
var b = a.Substring(0, a.Length - 1);
return b;
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。