我想使用EPPlus库将公式从C#应用程序导出到Excel工作表。
C#应用程序和Excel应用程序的区域设置是相同的,这意味着小数分隔符在我的情况下是逗号。
分配时
class Thread(QtCore.QThread):
changePixmap = QtCore.pyqtSignal(QtGui.QPixmap)
changedQue = QtCore.pyqtSignal(str)
def run (self):
capture = cv2.VideoCapture('sample_video.mp4')
while True:
check, frame = capture.read()
cv2.rectangle(frame,(120,80),(520,390),(255,0,0),5)
convertToQtFormat = QtGui.QImage(frame.data, frame.shape[1], frame.shape[0], QtGui.QImage.Format_RGB888)
convertToQtFormat = QtGui.QPixmap.fromImage(convertToQtFormat)
video = convertToQtFormat.scaled(290, 220, QtCore.Qt.KeepAspectRatio)
self.changePixmap.emit(video)
face = detector.detect_faces(frame)
if a_face in face:
self.changedQue.emit('True')
class MainGUI(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, *args, **kwargs):
QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
self.setupUi(self)
th = Thread(self)
th.changePixmap.connect(self.label.setPixmap)
th.changedQue.connect(self.on_changedQue, QtCore.Qt.QueuedConnection)
self.label.show()
th.start()
@QtCore.pyqtSlot(str):
def on_changedQue(self, que):
if que == "True":
print('Yey')
(例如,如果值为double),
同样不适用于
sheet.Cells[row, column].Value = value;
其中,公式是以" ="开头的字符串;并包含正确包含逗号作为小数分隔符的字符串转换双精度数。
在后一种情况下,Excel会说文档已损坏,而它会接受包含点作为小数分隔符的公式。
我不想开始用点替换逗号,反之亦然,但要将正确的语言环境链保存到Excel公式中。
这可以以某种方式完成吗?我想我需要通过EPPlus设置告诉Excel公式中的语言环境设置与普通单元格内容相同(其中一切都按预期工作)。
答案 0 :(得分:0)
EPPlus中可用的本地化选项是NumberFormat属性,用于设置所需的数字格式。
在您的情况下,您可以尝试:
sheet.Cells[row, column].Numberformat.Format="#,##0.00"; //set your format of dots & commas