小编Gau*_*rek的帖子

可以使用同一个文件对象多次读取文件吗?

在Python中,当您使用open方法打开文件时,它会返回文件对象。我们可以使用这个对象来多次读取吗?

如果是,那么为什么它对我不起作用。我使用的是pyhon2.7.2版本

 from sys import argv

 script, filename = argv

 txt = open(filename)

 print "Here is your file %r" % filename
 # Reads the complete file into the txt variable
 print txt.read()
 # Here i am using txt file object again to read byte by byte of the file
 # which doesn't seem to be working.
 print txt.read(1)
Run Code Online (Sandbox Code Playgroud)

它不工作的任何原因?

python-2.7

2
推荐指数
1
解决办法
410
查看次数

如何使用 c# ClosedXML 使用方法 List(String list, Boolean inCellDropdown) 在 Excel 中设置下拉列表验证

大家好,我正在尝试使用 ClosedXML 库为 excel 中的列创建一个下拉列表。我可以使用下面的代码成功创建它。

      using (XLWorkbook wb = new XLWorkbook())
      {
        wb.Worksheets.Add(dt);
        wb.Worksheets.Add(dt2);
        var worksheet2 = wb.Worksheet(2);
        //wb.Worksheet(1).Column(11).SetDataValidation().List("one,two,three", true); This does not work fine
        wb.Worksheet(1).Column(11).SetDataValidation().List(worksheet2.Range("A2:A12"), true);// Works fine
        wb.Worksheet(1).Column(11).SetDataValidation().IgnoreBlanks = true;
        wb.Worksheet(1).Column(11).SetDataValidation().InCellDropdown = true;
        wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
        wb.Style.Font.Bold = true;
        wb.SaveAs(targetFile);
      }
Run Code Online (Sandbox Code Playgroud)

但我想用 SetDataValidation() 中的 List 的另一个重载方法做同样的事情,但那是创建 Excel,但当我尝试打开它时,它说它已损坏。您能否帮助我理解为什么其他重载方法不起作用。

有问题的方法是public void List(String list, Boolean inCellDropdown)。根据数据验证 wiki 页面,可以使用字符串列表:

//Pass a string in this format: "Option1,Option2,Option3"
var options = new List<string>{"Option1","Option2","Option3"};
var validOptions = $"\"{String.Join(",", options)}\"";
ws.Cell(1,1).DataValidation.List(validOptions, true);
Run Code Online (Sandbox Code Playgroud)

.net c# excel closedxml

1
推荐指数
1
解决办法
6616
查看次数

标签 统计

.net ×1

c# ×1

closedxml ×1

excel ×1

python-2.7 ×1